4 ms·
Sadly there is not before after result example.
by gutino 6y ago
Sadly there is not before after result example.
- brianm 6y agoI was curious about this, so applied the easy ones for an existing tool (https://github.com/brianm/wsf https://github.com/brianm/wsf). This was not an exhaustive test of optimization combinations, just a single stack, but the results are interesting! To read the table: default is no changes in the release profile, ie: [profile.release] # opt-level = 'z' # lto = true # panic = 'abort' # codegen-units = 1 After that each additional line gets uncommented and rebuilt, then sizes recorded before and after cargo-strip, so the final line is all four optimizations applied. Results: as generated after cargo-strip default 8675776 5069328 opt-level = 'z' 9023200 4676112 lto = true 5943312 3586584 panic = 'abort' 5062456 3135928 codegen-units = 1 4747000 3013048 Tests run on ubuntu 20.04 (Linux d2836c103a22 5.4.0-37-generic #41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020 x86_64 GNU/Linux) with rustc 1.43.1 (8d69840ab 2020-05-04) cargo 1.43.0 (2cbe9048e 2020-05-03) cargo-strip - reduces the size of binaries using the `strip` command 0.2.2 Fascinatingly, opt-level='z' produced a LARGER binary than the default, before stripping. That was unexpected. -Brian