parseable icon indicating copy to clipboard operation
parseable copied to clipboard

perf: do thin LTO and singular `codegen-unit` on release

Open de-sh opened this issue 1 year ago • 2 comments

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.

de-sh avatar Oct 22 '24 12:10 de-sh

CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅

github-actions[bot] avatar Oct 22 '24 12:10 github-actions[bot]

I have read the CLA Document and I hereby sign the CLA

de-sh avatar Oct 22 '24 14:10 de-sh

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.

de-sh avatar Dec 17 '24 07:12 de-sh

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 Coverage Status
Change from base Build 12369242409: 0.0%
Covered Lines: 2111
Relevant Lines: 18212

💛 - Coveralls

coveralls avatar Dec 17 '24 08:12 coveralls