Skip to content
This repository was 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

Description

@zamazan4ik

🚀 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions