Skip to content

Commit cb88260

Browse files
authored
pyiceberg-core: create even smaller artifacts (#1844)
## Which issue does this PR close? - Closes #1839 ## What changes are included in this PR? use `lto = "thin", opt-level = "z"` Tested building the wheel locally on mac. And this is the winning combination. Change | Wheel Size | Build Time | Notes ------------------------|------------|------------|------------------ fat LTO, opt-level=3 (default) | 21 MB | ~3 min | Original fat LTO, opt-level=z | 12 MB | ~3 min | 43% smaller thin LTO, opt-level=z | 12 MB | ~1.5 min | Same size, 2x faster build! no LTO, opt-level=z | 13 MB | ~1 min | Slightly bigger ### Size Reduction [This branch](https://github.com/apache/iceberg-rust/actions/runs/19285828822) vs [main branch w/ #1841](https://github.com/apache/iceberg-rust/actions/runs/19280546898/attempts/1) | Name | Old Size | New Size | % Decrease | |-----------------------------------------------|----------|----------|------------| | wheels-macos-latest-universal2-apple-darwin | 44.4 MB | 23.5 MB | 47.07% | | wheels-ubuntu-latest-aarch64 | 66.1 MB | 40.9 MB | 38.12% | | wheels-ubuntu-latest-armv7l | 70.5 MB | 33.1 MB | 53.05% | | wheels-ubuntu-latest-x86_64 | 23.8 MB| 13 MB | 45.38% | | wheels-windows-latest | 25.9 MB | 12.7 MB | 45.38% | | wheels-sdist | 575 KB | 574 KB ## Are these changes tested? Yes https://github.com/apache/iceberg-rust/actions/runs/19285828822
1 parent a7bd010 commit cb88260

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

bindings/python/Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,6 @@ tokio = { version = "1.46.1", default-features = false }
4141
[profile.release]
4242
codegen-units = 1
4343
debug = false
44-
lto = "fat"
44+
lto = "thin"
45+
opt-level = "z"
4546
strip = true

0 commit comments

Comments
 (0)