perf: speed up builder onboarding at the Gloas fork transition#9397
perf: speed up builder onboarding at the Gloas fork transition#9397twoeths wants to merge 16 commits into
Conversation
There was a problem hiding this comment.
Code Review
This pull request optimizes the builder onboarding process during the Gloas fork transition by implementing lazy batch signature verification for builder deposits. Key changes include the introduction of verifyDepositSignatures for batched BLS verification, a refactored onboardBuildersFromPendingDeposits function that processes deposits in batches of 32, and the addition of performance benchmarks and unit tests to ensure correctness and efficiency. Feedback suggests further optimizing verifyDepositSignatures by moving signature deserialization into the initial loop to avoid redundant work and simplify the batch verification call.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## unstable #9397 +/- ##
============================================
- Coverage 52.55% 52.55% -0.01%
============================================
Files 848 848
Lines 60947 60946 -1
Branches 4486 4486
============================================
- Hits 32032 32031 -1
Misses 28853 28853
Partials 62 62 🚀 New features to boost your workflow:
|
|
this is still not fast enough in a typical server update after f755870 |
Motivation
Improve the performance of builder onboarding at the Gloas fork transition.
upgradeStateToGloas→onboardBuildersFromPendingDepositsonboards builders from the pending deposit queue, which was prohibitively slow for a large number of builders.See #9395 for the benchmark before this improvement.
Description
upgradeStateToGloasbuilder onboarding, sweeping builder counts (5k / 10k / 20k / 30k)verifyMultipleAggregateSignaturesinstead of one at a timeAI Assistance Disclosure
Used Claude Code.