-
Notifications
You must be signed in to change notification settings - Fork 857
Open
Labels
type: featureThis issue describes a feature request / wishlist.This issue describes a feature request / wishlist.
Description
Your Feature Request
Profile-Guided Optimization (PGO) allows gaining additional performance for the software since it uses runtime profile information to perform more advanced optimization during the compilation process. Many PGO results are available at https://github.com/zamazan4ik/awesome-pgo . I guess it could be useful for Haproxy.
Possible steps:
- Prepare Haproxy build with PGO and bench it compared to the non-PGO Haproxy. I expect it will help to boost Haproxy performance.
- At least consider adding PGO to CI. Yes, it has a LOT of caveats like a huge bump in a build time, good profile preparation, profile stability between releases, and much more other stuff but in my opinion, it could be worth it.
- For some users, who want "cheaply" try to boost their Haproxy performance. Maybe will be a good idea to leave a note somewhere in the Haproxy documentation about this "advanced" option?
Possible future steps for improving:
- Try to play with BOLT. BOLT also could help with gaining more performance even from LTO + PGO build (but it's not guaranteed). This way has drawbacks like BOLT on some platforms is too unstable; BOLT could not support some architectures, etc. But it definitely a good tool to think about.
What are you trying to do?
Trying to improve Haproxy for free :)
Output of haproxy -vv
Not applicable
Metadata
Metadata
Assignees
Labels
type: featureThis issue describes a feature request / wishlist.This issue describes a feature request / wishlist.