lambdaclass / lambdaclass/ethlambda

Profile-Guided optimization(PGO) for the ethlambda binary

Open
#551 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
82
Forks
28
Avg merge
1d 20h
Merged PRs (30d)
20

Description

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the ethlambda binary configuration and existing benchmarks, then read the linked cargo pgo and rustc PGO documentation. Evaluate profiling and optimized builds with jemalloc disabled, and add a dedicated Criterion benchmark if the project supports it. Done means the impact is measured consistently and the results or limitations are recorded.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
performance
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.