Open
Description
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. Since Firecracker is a large project I guess PGO could help here to gain even more performance.
Describe the desired solution
Possible steps:
- Prepare firecracker build with PGO and bench it compared to the non-PGO firecracker.
- 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.
Maybe would be a good idea to try to use BOLT too, but FMPOV "usual" PGO is much more stable.
Describe possible alternatives
Just leave things as is.
Additional context
Probably the most helpful link would be this one: vectordotdev/vector#15631
Checks
- Have you searched the Firecracker Issues database for similar requests?
- Have you read all the existing relevant Firecracker documentation?
- Have you read and understood Firecracker's core tenets?