noir-lang / noir

Noir is a domain specific language for zero knowledge proofs
https://noir-lang.org
Apache License 2.0
854 stars 185 forks source link

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

Open zamazan4ik opened 1 year ago

zamazan4ik commented 1 year ago

Problem

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 Noir ecosystem.

I can suggest to do the following things:

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

Happy Case

In the happiest case, all Noir users will get PGO-optimized binaries by default.

Alternatives Considered

Don't test PGO.

Additional Context

No response

Would you like to submit a PR for this Issue?

Maybe

Support Needs

No response

kevaundray commented 1 year ago

This sounds really interesting, I'd definitely be up for trying this out