Comments (6)
cargo-bloat
parser only the .text
section. There are many more sections, which are more or less optional/irrelevant. Here is a list of sections for ELF.
As for 26.2%, the last row is total. So 13.3% is a .text
section size in the file. As mentioned in the Name column.
from cargo-bloat.
@RazrFalcon Yea... understand. Thanks for the explanation, but seems size analysis based on "text" section only doesn't help a lot in optimization as there is very limited correlation between total size and text section size.
from cargo-bloat.
All other sections are optional. Only the .text
section contains your code. You can run strip
on Linux and similar commands on other OS'es and most of the sections will be removed.
On the other hand, cargo-bloat
indeed doesn't support static variables yet. But it should not affect the results in most cases.
PS: by the way, the original version of cargo-bloat didn't have the File column at all. I've added it only because someone asked for it. So cargo-bloat is designed just for "code size", not "binary size" analysis in mind.
from cargo-bloat.
In my specific case i got the following after strip
. Text is 55%
Maybe other sections size correlates to text section size too.
from cargo-bloat.
350KiB for .rodata
is a lot... And as mentioned, cargo-bloat
doesn't supports constant/static data yet. This is basically #10
from cargo-bloat.
This is basically #10
I agree. Feel free to close the issue. I got the answers. Maybe a bit of explanation in readme will help. Thanks!
from cargo-bloat.
Related Issues (20)
- Doesn't work with custom registries HOT 2
- Default test binary HOT 3
- --release flag fails HOT 4
- Add an option to sort output by crate/fn name instead of size HOT 1
- Discrepancy in reported `.text` size: `cargo bloat` vs GNU Binuils `size` HOT 3
- Cargo bloat doesn't forward compiler errors on build failure HOT 5
- don't suggest -n if all data is shown HOT 1
- Support custom profiles HOT 2
- How do I use cargo bloat with `-Zbuild-std`? HOT 7
- Incorrect target resolving
- Cargo bloaty reports only a tiny portion of the whole binary HOT 5
- How to examine other sections in the `.so` file? HOT 4
- Error: parsing failed cause 'section .symtab is missing'. HOT 10
- Detect `strip = true` in Cargo.toml HOT 3
- It "hangs" sometimes HOT 18
- Total time using cargo bloat --time? HOT 2
- missing releases on github HOT 2
- Info on the Size Calculation HOT 5
- FR: Cargo bloat should allow multiple `--features=foo` flags and merge them HOT 1
- [Q&A] Is there a tool or plugin that uses `cargo bloat` information to point at duplication due to monomorphization? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cargo-bloat.