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

[Feature Request] Evaluate Profile-Guided Optimization (PGO) and LLVM BOLT #1072

Open
zamazan4ik opened this issue Sep 2, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@zamazan4ik
Copy link

🚀 Feature Request

Test Profile-Guided Optimization (PGO) and LLVM BOLT performance benefits for Move language tooling.

Motivation

Is your feature request related to a problem? Please describe.
It's not exactly a problem - just an idea of how to improve the project performance.

Pitch

I did a lot of Profile-Guided Optimization (PGO) benchmarks recently on different kinds of software (including many compilers and compiler-like projects) - all currently available results are located at https://github.com/zamazan4ik/awesome-pgo . According to the tests, PGO usually helps a lot for compiler-like workloads. That's why I think testing PGO would be a good idea for the Move language ecosystem.

I can suggest to do the following things:

  • Evaluate PGO on the Move toolchain
  • If it benefits Move - add a note to the Move documentation about building with PGO. In this case, users and maintainers who build their own Move packages will be aware of PGO as an additional way to optimize the project
  • Optimize provided by Move team binaries on the CI (like it's already done for other projects like Rustc), if any
  • After that, I suggest trying to apply LLVM BOLT as an additional post-PGO step. Rustc already does it on some platforms

For the Rust projects, I suggest PGO optimizing with cargo-pgo.

@zamazan4ik zamazan4ik added the enhancement New feature or request label Sep 2, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant