Skip to content

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

@zamazan4ik

Description

@zamazan4ik

Hi!

I did a lot of Profile-Guided Optimization (PGO) benchmarks recently on different kinds of software (including many compilers and compiler-like projects like Clang, Rustc, Clangd, clang-tidy, etc.) - 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 Redpen.

I can suggest to do the following things:

  • Evaluate PGO on Redpen
  • If it benefits Redpen - add a note to the Redpen documentation about building with PGO. In this case, users and maintainers who build their own Redpen binaries will be aware of PGO as an additional way to optimize the project
  • Optimize provided by Redpen project 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.

I understand that the project is in the early stages of development. So just consider the issue just an idea for the possible future improvements.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions