kaleidawave / ezno

A JavaScript compiler and TypeScript checker written in Rust with a focus on static analysis and runtime performance
https://kaleidawave.github.io/posts/introducing-ezno/
MIT License
2.29k stars 42 forks source link

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

Open zamazan4ik opened 9 months ago

zamazan4ik commented 9 months ago

Hi!

Recently I did many Profile-Guided Optimization (PGO) benchmarks on multiple projects (including static analysis tools and compilers like Rustc, Clang, Clangd, Clang Tidy, and many others) - the results are available here. So that's why I think it's worth trying to apply PGO to Ezno.

I can suggest the following things to do:

After PGO, I can suggest evaluating LLVM BOLT as an additional optimization step after PGO.

For the Rust projects, I recommend starting with cargo-pgo.

kaleidawave commented 9 months ago

Very cool. This looks interesting if it could easily be added into the CI. Unfortunately don't have time to look into this at the moment as I am prioritising getting the checker to function. Will look into it in the future!