jonhoo / inferno

A Rust port of FlameGraph
Other
1.64k stars 117 forks source link

Strip symbols of inferno binaries to decrease size by 24x #310

Closed marcospb19 closed 9 months ago

marcospb19 commented 9 months ago

After running cargo install --path . to install all inferno binaries, here's what I noticed:

 ~ du -hc .cargo/bin/inferno-*
28M .cargo/bin/inferno-collapse-dtrace
25M .cargo/bin/inferno-collapse-ghcprof
30M .cargo/bin/inferno-collapse-guess
29M .cargo/bin/inferno-collapse-perf
27M .cargo/bin/inferno-collapse-recursive
25M .cargo/bin/inferno-collapse-sample
25M .cargo/bin/inferno-collapse-vsprof
25M .cargo/bin/inferno-collapse-vtune
24M .cargo/bin/inferno-diff-folded
28M .cargo/bin/inferno-flamegraph
263M    total

Files were extremely large due to this debug value:

[profile.release]
debug = true

Here are the values after stripping (with strip binary or key in manifest file):

 ~ du -hc .cargo/bin/inferno-*
1.2M    .cargo/bin/inferno-collapse-dtrace
1.1M    .cargo/bin/inferno-collapse-ghcprof
1.4M    .cargo/bin/inferno-collapse-guess
1.2M    .cargo/bin/inferno-collapse-perf
1.1M    .cargo/bin/inferno-collapse-recursive
1012K   .cargo/bin/inferno-collapse-sample
1000K   .cargo/bin/inferno-collapse-vsprof
1020K   .cargo/bin/inferno-collapse-vtune
932K    .cargo/bin/inferno-diff-folded
1.4M    .cargo/bin/inferno-flamegraph
11M total

And here's what you get by not using debug or strip:

 ~ du -hc .cargo/bin/inferno-*
5.6M    .cargo/bin/inferno-collapse-dtrace
5.4M    .cargo/bin/inferno-collapse-ghcprof
5.8M    .cargo/bin/inferno-collapse-guess
5.6M    .cargo/bin/inferno-collapse-perf
5.5M    .cargo/bin/inferno-collapse-recursive
5.4M    .cargo/bin/inferno-collapse-sample
5.3M    .cargo/bin/inferno-collapse-vsprof
5.4M    .cargo/bin/inferno-collapse-vtune
5.3M    .cargo/bin/inferno-diff-folded
5.8M    .cargo/bin/inferno-flamegraph
55M total

TLDR

debug (current) none strip
263M 55M 11M

So I added strip = true

codecov[bot] commented 9 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (86131d4) 91.06% compared to head (e2c0aea) 91.06%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #310 +/- ## ========================================== - Coverage 91.06% 91.06% -0.01% ========================================== Files 20 20 Lines 4500 4498 -2 ========================================== - Hits 4098 4096 -2 Misses 402 402 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

marcospb19 commented 9 months ago

Of course :) done.

jonhoo commented 9 months ago

Released in 0.11.19 :tada: