Open zamazan4ik opened 11 months ago
Hi @zamazan4ik , thanks for the suggestions!
Would you mind explaining what "Evaluate PGO" would mean in this context? Kani is essentially a static analysis tool which does not produce executable binaries. More specifically, the Kani compiler replaces the LLVM back-end with an alternative GotoC back-end to generate GotoC programs (the ones accepted by CBMC). What do you think?
Would you mind explaining what "Evaluate PGO" would mean in this context?
Sure! Here I mean optimizing Kani itself with PGO, so hopefully Kani will work faster.
Oh, understood. Please let me bring this up for discussion with the team. Thanks!
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. I think testing PGO would be a good idea for Kani.
I can suggest to do the following things:
For the Rust projects, I suggest PGO optimizing with cargo-pgo.