firecracker-microvm / firecracker-microvm/firecracker

[Feature Request] PGO applicability

Open
#3,456 8 comments 0 reactions 1 assignee Claimed by @ambersongliu View on GitHub
Priority: Low Status: Parked Type: Enhancement
Dominant language
Rust
Stars
36.7k
Forks
2.6k
Avg merge
3d 2h
Merged PRs (30d)
53

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: https://github.com/vectordotdev/vector/issues/15631

## Checks

- [x] Have you searched the Firecracker Issues database for similar requests?
- [x] Have you read all the existing relevant Firecracker documentation?
- [x] Have you read and understood Firecracker's core tenets?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.