Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Evaluate Profile-Guided Optimization (PGO) and LLVM BOLT on QEMU #141

Open
zamazan4ik opened this issue Sep 14, 2023 · 0 comments
Open

Evaluate Profile-Guided Optimization (PGO) and LLVM BOLT on QEMU #141

zamazan4ik opened this issue Sep 14, 2023 · 0 comments

Comments

@zamazan4ik
Copy link

Hi! Thanks a lot for the project!

Recently I read a great article about "Firecracker vs QEMU" in your blog - link. Since you are using QEMU and (hopefully) you care about the QEMU performance, I have an idea of how to improve QEMU performance for your scenarios.

Some time ago, I started evaluating Profile-Guided Optimization (PGO) improvements on different projects in different domains. Current results are available here. According to the tests (not only mine), PGO can help with achieving better performance. The most interesting stuff is that there are the benchmarks for QEMU (link) and CrosVM (link) about improvements in these projects with PGO.

I can suggest the following possible steps:

  • Perform the PGO benchmarks for QEMU in your scenarios.
  • Add a note about improvements in Hocus's performance with PGO-optimized QEMU somewhere in the documentation. Even a few percent can be important to someone (especially if Hocus cares about performance).
  • Providing an easier way (e.g. a build option) to build scripts with PGO can be useful for the end-users and maintainers since they will be able to optimize Hocus according to their own workloads. I understand that QEMU is not your project but maybe you have a way to work with the upstream - who knows... :)

If you already did some benchmarks about PGO-optimized QEMU for your platform - would be great if you could share your numbers.

Thanks in advance!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant