This issue tracks evaluating the impact of cargo pgo on the ethlambda binary.
While using rustc's native PGO workflow may ultimately provide better results, starting with cargo pgo offers a simpler path for initial evaluation.
One limitation is that PGO runs cannot currently be performed with jemalloc enabled, so the global allocator will need to be disabled for the profiling and optimized builds. This may offset some of the performance gains and should be taken into account when evaluating results.
It would also be useful to add a dedicated Criterion benchmark for ethlambda, making it easier to run consistent performance experiments and compare optimization strategies over time.
For reference, the rustc PGO workflow is documented here: https://doc.rust-lang.org/rustc/profile-guided-optimization.html
This issue tracks evaluating the impact of
cargo pgoon theethlambdabinary.While using
rustc's native PGO workflow may ultimately provide better results, starting withcargo pgooffers a simpler path for initial evaluation.One limitation is that PGO runs cannot currently be performed with
jemallocenabled, so the global allocator will need to be disabled for the profiling and optimized builds. This may offset some of the performance gains and should be taken into account when evaluating results.It would also be useful to add a dedicated Criterion benchmark for
ethlambda, making it easier to run consistent performance experiments and compare optimization strategies over time.For reference, the
rustcPGO workflow is documented here: https://doc.rust-lang.org/rustc/profile-guided-optimization.html