-
Notifications
You must be signed in to change notification settings - Fork 24
Description
Description of the problem
It's not a problem - it's a performance improvement idea for the project
Proposed solution
Recently I checked Profile-Guided Optimization (PGO) improvements on multiple projects including many projects (including logging solutions like Vector and fluent-bit) - the results are available in the awesome-pgo repo. Since PGO has helped in many cases, I think it would be a good idea to try optimizing axosyslog by applying PGO to it. I guess the idea could be interesting for the project since, according to the README file, axosyslog developers care about performance.
I can suggest the following things to do:
- We need to perform PGO benchmarks on
axosyslog. If it shows improvements - add a note about possible improvements to the documentation. Providing an easier way (e.g. a build option) to build scripts to buildaxosyslogwith PGO can be useful for the end-users too. - It will be a good idea to integrate building with PGO into your CI pipelines. In this case, users will get already PGO-optimized binaries from the website
Here you can find different materials about PGO: benchmarks for multiple apps, examples of how PGO is already integrated with various projects, PGO support in multiple Rust compilers, and some PGO-related pieces of advice.
After PGO, I suggest evaluating the Post-Link Optimization (with tools like LLVM BOLT) - it can give more aggressive optimizations even after PGO. However, starting with regular PGO will be easier to do.
Alternatives
Leave things as is
Additional context
N/A