Commit cb88260
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/192858288221 parent a7bd010 commit cb88260
1 file changed
+2
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
| 44 | + | |
| 45 | + | |
45 | 46 | | |
0 commit comments