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

Enable Profile-Guided Optimization (PGO) and LLVM BOLT #71

Open
zamazan4ik opened this issue Oct 2, 2023 · 1 comment
Open

Enable Profile-Guided Optimization (PGO) and LLVM BOLT #71

zamazan4ik opened this issue Oct 2, 2023 · 1 comment

Comments

@zamazan4ik
Copy link

Hi!

Recently I did many Profile-Guided Optimization (PGO) benchmarks on multiple projects (including static analysis tools and compilers like Rustc, Clang, Clangd, Clang Tidy, and many others) - the results are available here. For Clang PGO results are even described in the official documentation (20% improvements) - https://llvm.org/docs/HowToBuildWithPGO.html . I think it could be a good idea to enable PGO at least for Clang dependency in Xeus repl.

I can suggest the following things to do:

  • Enable PGO at least for the Clang dependency.
  • Document enabling PGO somewhere in the Documentation (possibly in the README file)

Here are some examples of how PGO is already integrated into other projects' build scripts:

After PGO, I can suggest evaluating LLVM BOLT as an additional optimization step after PGO. Building with LLVM BOLT is already supported by Clang too in the upstream.

@vgvassilev
Copy link
Contributor

Hi @zamazan4ik. Thanks for the remarks, I agree with them. Currently we do not have the bandwidth to pursue them but patches are welcome!

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

2 participants