Skip to content
This repository has been archived by the owner on Aug 22, 2024. It is now read-only.

Evaluate Profile-Guided Optimization (PGO) and LLVM BOLT #1237

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

Evaluate Profile-Guided Optimization (PGO) and LLVM BOLT #1237

zamazan4ik opened this issue Sep 13, 2023 · 0 comments

Comments

@zamazan4ik
Copy link

Hi!

Recently I checked Profile-Guided Optimization (PGO) improvements on multiple projects. The results are here. LLVM-related results are here. According to the tests, PGO usually helps a lot with the compiler and compiler-like workloads (like static analysis). That's why I think trying to optimize MIRAI with PGO can be a good idea.

I can suggest the following action points:

  • Perform PGO benchmarks on MIRAI. And if it shows improvements - add a note about possible improvements in MIRAI's performance with PGO.
  • 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 MIRAI according to their own workloads.
  • Optimize pre-built MIRAI binaries with PGO.

Maybe testing Post-Link Optimization techniques (like LLVM BOLT) would be interesting too but I recommend starting from the usual PGO (yeah, I know that BOLT originally is developed by Facebook ;) ).

For the Rust projects, I suggest PGO optimizing with cargo-pgo (it supports LLVM BOLT too).

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

No branches or pull requests

1 participant