parseable
parseable copied to clipboard
perf: do thin LTO and singular `codegen-unit` on release
Fixes #224 .
Description
Optimize release builds without impacting compile times. The alternatives include:
- Full/Fat LTO
- More codegen-units With single codegen-unit we make the compilation a bit slow, but that is much better tradeoff when compiling for releases given the optimizations that can be gained. Similarly, Fat LTO didn't give much of a gain from binary size perspective, have to figure out if there were any gains in terms of memory locality, but that is a harder question to answer, thus chose to go with Thin LTO.
This PR has:
- [ ] been tested to ensure log ingestion and log query works.
- [ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
- [ ] added documentation for new or modified features or behaviors.
CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅
I have read the CLA Document and I hereby sign the CLA
Decision on this front, we will move these changes to a specific profile release-lto that will be used during compilation for binary generation on GitHub release.
Pull Request Test Coverage Report for Build 12370139449
Details
- 0 of 0 changed or added relevant lines in 0 files are covered.
- No unchanged relevant lines lost coverage.
- Overall coverage remained the same at 11.591%
| Totals | |
|---|---|
| Change from base Build 12369242409: | 0.0% |
| Covered Lines: | 2111 |
| Relevant Lines: | 18212 |