Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: 1.24.0 release #7287

Closed
wants to merge 37 commits into from
Closed

chore: 1.24.0 release #7287

wants to merge 37 commits into from

Conversation

philknows
Copy link
Member

Motivation

Prepare v1.24.0 release

nflaig and others added 30 commits October 30, 2024 18:13
* feat: add keymanager endpoint to retrieve proposer config

* Do not return empty builder config

* Check all builder proposer config values

* Fix settings builder config if undefined

* Fix builder config parsing

* Use ssz type to handle json serialization

Default parsing can't handle BigInt

* Revert "Use ssz type to handle json serialization"

This reverts commit 01fcea7.

* Fix boost factor json serialization

* Remove unused import

* Update test data

* Update proposer config test
* Throw error if pubkey is unknown when getting graffiti

* Consistently validate pubkey and throw 404 if not found
* fix: only return local keys from /eth/v1/keystores

* Fix fetching remote keys in node assertion
* hookup the getblobs api to get bob and proof data from el

remove unused

fix import

metrics overhault, test, debugging testing, some feeback

fix

add nethermind bug dicussion link

fix

resolve conflicts

* deblobs timeout

* fix metric
Revert "feat: asyncAggregateWithRandomness (#7204)"

This reverts commit e31d535.
… branches (#7187)

* initial commit

* Rewrite SyncCommitteeWitnessRepository

* Fix finality branch

* Update unit test

* fix e2e

* Review PR

---------

Co-authored-by: Nico Flaig <[email protected]>
* Remove unfinalized pubkey cache

* lint

* Fix unit test
* fix: prune checkpoint states at syncing time

* fix: lint

* fix: check-types in test
* fix: handle outOfRangeData for beaconBlocksMaybeBlobsByRange()

* fix: lint

* fix: archiveBlocks - handle deneb outOfRangeData block
* fix: sync cached balance when adding new validator to registry

* chore: add more comments

* fix: remove persisted checkpoint states from the previous run at startup
* docs update oct 2024 init

* Reconfig quickstart nav and minor fixes

* fix lint

* spelling fixes

* minor fixes and add to wordlist

* prettier fix

* add to wordlist

* sort wordlist

* modify dominance to include lighthouse

* fix typescript casing and add recommendation

* add selection and boost_factor with keymanager notice

* update wordlist

* remove builder enabled and add keymanager api

* spelling

---------

Co-authored-by: Nico Flaig <[email protected]>
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](moxystudio/node-cross-spawn@v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: add error log to notifier if execution client auth failed

* Update packages/beacon-node/src/node/notifier.ts

---------

Co-authored-by: NC <[email protected]>
* docs: display rcConfig flag on CLI reference page

* Update word list
* feat: add asyncShufflingCalculation to StateTransitionOpts

* feat: add asyncShufflingCalculation to all regen / processSlots consumers

* fix: default to false for async shuffling and remove unnecessary props

* fix: remove unnecessary flags from stateTransition

* feat: implement conditional build of shuffling for prepareNextSlot

* fix: spec test bug where shufflingCache is present from BeaconChain constructor

* feat: sync build next shuffling if not queued async

* fix: use getSync to pull next shuffling correctly

* docs: add comment to prepareNextSlot

* refactor: rename StateCloneOpts to StateRegenerationOpts

* feat: pass asyncShufflingCalculation through to afterProcessEpoch and refactor conditional to run purely sync

* docs: add issue number to comment

* chore: lint
* Revert "chore: pin nodejs version to 22.4 (#6964)"

This reverts commit f20484b.

* Don't revert formatting changes

---------

Co-authored-by: Nico Flaig <[email protected]>
Co-authored-by: Cayman <[email protected]>
acolytec3 and others added 6 commits December 5, 2024 14:24
* feat: add new getHistoricalSummaries endpoint to debug namespace

* Add JSON response

* Restructure to use stateId and add proof to response

* add test scaffolding

* Address feedback

* Move getHistoricalSummaries to lodestar namespace

* add lodestar namespace unit test

* update route name to lodestar namespace

* cast state object as Capella state

* Lint

* json properties need to be lower case

* Make it v1 since it's now part of lodestar namespace

* Group with other /lodestar endpoints

* Simplify beacon node impl

* Rename return type

* Update test description

* Fix variable name

---------

Co-authored-by: Nico Flaig <[email protected]>
* fix: check pubkey or validator index known to a state

* chore: add more comments
* feat: lodestar_setup

* feat: script_updates + docs

* feat: script_addition_in_docs + command_update

* Remove duplicate script from docs folder

* Minor script updates

* Update script to prepare docs and ignore copied file

* Update installation page

* Wording

---------

Co-authored-by: Nico Flaig <[email protected]>
Copy link

codecov bot commented Dec 6, 2024

Codecov Report

Attention: Patch coverage is 52.40964% with 237 lines in your changes missing coverage. Please review.

Project coverage is 48.91%. Comparing base (f778821) to head (1318712).

Additional details and impacted files
@@            Coverage Diff             @@
##           stable    #7287      +/-   ##
==========================================
+ Coverage   48.71%   48.91%   +0.20%     
==========================================
  Files         599      601       +2     
  Lines       39972    40188     +216     
  Branches     2058     2061       +3     
==========================================
+ Hits        19472    19658     +186     
- Misses      20460    20492      +32     
+ Partials       40       38       -2     

Copy link
Contributor

github-actions bot commented Dec 6, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 2eb1f45 Previous: - Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.7499 ms/op
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 38.006 us/op
BLS verify - blst 904.83 us/op
BLS verifyMultipleSignatures 3 - blst 1.3124 ms/op
BLS verifyMultipleSignatures 8 - blst 2.0253 ms/op
BLS verifyMultipleSignatures 32 - blst 4.4800 ms/op
BLS verifyMultipleSignatures 64 - blst 8.4111 ms/op
BLS verifyMultipleSignatures 128 - blst 15.932 ms/op
BLS deserializing 10000 signatures 591.23 ms/op
BLS deserializing 100000 signatures 5.9456 s/op
BLS verifyMultipleSignatures - same message - 3 - blst 918.31 us/op
BLS verifyMultipleSignatures - same message - 8 - blst 1.0741 ms/op
BLS verifyMultipleSignatures - same message - 32 - blst 1.6962 ms/op
BLS verifyMultipleSignatures - same message - 64 - blst 2.5707 ms/op
BLS verifyMultipleSignatures - same message - 128 - blst 4.2318 ms/op
BLS aggregatePubkeys 32 - blst 18.475 us/op
BLS aggregatePubkeys 128 - blst 64.046 us/op
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 83.899 ms/op
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 35.439 ms/op
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 40.397 ms/op
getSlashingsAndExits - default max 77.830 us/op
getSlashingsAndExits - 2k 319.40 us/op
proposeBlockBody type=full, size=empty 6.5972 ms/op
isKnown best case - 1 super set check 906.00 ns/op
isKnown normal case - 2 super set checks 854.00 ns/op
isKnown worse case - 16 super set checks 964.00 ns/op
InMemoryCheckpointStateCache - add get delete 4.5610 us/op
validate api signedAggregateAndProof - struct 1.6212 ms/op
validate gossip signedAggregateAndProof - struct 1.4706 ms/op
batch validate gossip attestation - vc 640000 - chunk 32 138.74 us/op
batch validate gossip attestation - vc 640000 - chunk 64 127.76 us/op
batch validate gossip attestation - vc 640000 - chunk 128 113.67 us/op
batch validate gossip attestation - vc 640000 - chunk 256 107.46 us/op
pickEth1Vote - no votes 841.75 us/op
pickEth1Vote - max votes 4.6478 ms/op
pickEth1Vote - Eth1Data hashTreeRoot value x2048 9.9649 ms/op
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 14.672 ms/op
pickEth1Vote - Eth1Data fastSerialize value x2048 359.67 us/op
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.5538 ms/op
bytes32 toHexString 629.00 ns/op
bytes32 Buffer.toString(hex) 452.00 ns/op
bytes32 Buffer.toString(hex) from Uint8Array 563.00 ns/op
bytes32 Buffer.toString(hex) + 0x 460.00 ns/op
Object access 1 prop 0.33700 ns/op
Map access 1 prop 0.32800 ns/op
Object get x1000 5.2930 ns/op
Map get x1000 5.9810 ns/op
Object set x1000 26.218 ns/op
Map set x1000 19.698 ns/op
Return object 10000 times 0.31010 ns/op
Throw Error 10000 times 2.8056 us/op
toHex 111.76 ns/op
Buffer.from 106.42 ns/op
shared Buffer 69.804 ns/op
fastMsgIdFn sha256 / 200 bytes 2.1370 us/op
fastMsgIdFn h32 xxhash / 200 bytes 474.00 ns/op
fastMsgIdFn h64 xxhash / 200 bytes 474.00 ns/op
fastMsgIdFn sha256 / 1000 bytes 6.0180 us/op
fastMsgIdFn h32 xxhash / 1000 bytes 613.00 ns/op
fastMsgIdFn h64 xxhash / 1000 bytes 557.00 ns/op
fastMsgIdFn sha256 / 10000 bytes 49.954 us/op
fastMsgIdFn h32 xxhash / 10000 bytes 2.0310 us/op
fastMsgIdFn h64 xxhash / 10000 bytes 1.4240 us/op
send data - 1000 256B messages 10.561 ms/op
send data - 1000 512B messages 15.359 ms/op
send data - 1000 1024B messages 25.371 ms/op
send data - 1000 1200B messages 27.662 ms/op
send data - 1000 2048B messages 31.994 ms/op
send data - 1000 4096B messages 31.547 ms/op
send data - 1000 16384B messages 74.944 ms/op
send data - 1000 65536B messages 293.76 ms/op
enrSubnets - fastDeserialize 64 bits 1.5340 us/op
enrSubnets - ssz BitVector 64 bits 710.00 ns/op
enrSubnets - fastDeserialize 4 bits 438.00 ns/op
enrSubnets - ssz BitVector 4 bits 676.00 ns/op
prioritizePeers score -10:0 att 32-0.1 sync 2-0 189.56 us/op
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 173.85 us/op
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 297.11 us/op
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 387.35 us/op
prioritizePeers score 0:0 att 64-1 sync 4-1 822.38 us/op
array of 16000 items push then shift 1.2856 us/op
LinkedList of 16000 items push then shift 7.6910 ns/op
array of 16000 items push then pop 125.86 ns/op
LinkedList of 16000 items push then pop 6.7880 ns/op
array of 24000 items push then shift 1.9987 us/op
LinkedList of 24000 items push then shift 7.6400 ns/op
array of 24000 items push then pop 130.89 ns/op
LinkedList of 24000 items push then pop 6.4270 ns/op
intersect bitArray bitLen 8 5.6440 ns/op
intersect array and set length 8 40.734 ns/op
intersect bitArray bitLen 128 27.164 ns/op
intersect array and set length 128 652.71 ns/op
bitArray.getTrueBitIndexes() bitLen 128 2.4830 us/op
bitArray.getTrueBitIndexes() bitLen 248 4.7970 us/op
bitArray.getTrueBitIndexes() bitLen 512 9.0200 us/op
Buffer.concat 32 items 1.1470 us/op
Uint8Array.set 32 items 1.9230 us/op
Buffer.copy 2.0280 us/op
Uint8Array.set - with subarray 2.3310 us/op
Uint8Array.set - without subarray 1.7710 us/op
getUint32 - dataview 485.00 ns/op
getUint32 - manual 495.00 ns/op
Set add up to 64 items then delete first 1.9604 us/op
OrderedSet add up to 64 items then delete first 2.9779 us/op
Set add up to 64 items then delete last 2.3207 us/op
OrderedSet add up to 64 items then delete last 3.4909 us/op
Set add up to 64 items then delete middle 2.6689 us/op
OrderedSet add up to 64 items then delete middle 6.4884 us/op
Set add up to 128 items then delete first 4.6678 us/op
OrderedSet add up to 128 items then delete first 6.5132 us/op
Set add up to 128 items then delete last 4.8902 us/op
OrderedSet add up to 128 items then delete last 7.4213 us/op
Set add up to 128 items then delete middle 4.4964 us/op
OrderedSet add up to 128 items then delete middle 15.873 us/op
Set add up to 256 items then delete first 8.9040 us/op
OrderedSet add up to 256 items then delete first 14.437 us/op
Set add up to 256 items then delete last 9.7487 us/op
OrderedSet add up to 256 items then delete last 14.688 us/op
Set add up to 256 items then delete middle 8.6603 us/op
OrderedSet add up to 256 items then delete middle 44.599 us/op
transfer serialized Status (84 B) 1.6850 us/op
copy serialized Status (84 B) 1.8580 us/op
transfer serialized SignedVoluntaryExit (112 B) 2.0700 us/op
copy serialized SignedVoluntaryExit (112 B) 1.9970 us/op
transfer serialized ProposerSlashing (416 B) 2.8430 us/op
copy serialized ProposerSlashing (416 B) 2.0870 us/op
transfer serialized Attestation (485 B) 2.4110 us/op
copy serialized Attestation (485 B) 2.5930 us/op
transfer serialized AttesterSlashing (33232 B) 2.7720 us/op
copy serialized AttesterSlashing (33232 B) 11.096 us/op
transfer serialized Small SignedBeaconBlock (128000 B) 4.2120 us/op
copy serialized Small SignedBeaconBlock (128000 B) 37.840 us/op
transfer serialized Avg SignedBeaconBlock (200000 B) 5.0660 us/op
copy serialized Avg SignedBeaconBlock (200000 B) 51.491 us/op
transfer serialized BlobsSidecar (524380 B) 5.6990 us/op
copy serialized BlobsSidecar (524380 B) 144.69 us/op
transfer serialized Big SignedBeaconBlock (1000000 B) 3.6240 us/op
copy serialized Big SignedBeaconBlock (1000000 B) 255.17 us/op
pass gossip attestations to forkchoice per slot 2.8128 ms/op
forkChoice updateHead vc 100000 bc 64 eq 0 424.45 us/op
forkChoice updateHead vc 600000 bc 64 eq 0 2.1988 ms/op
forkChoice updateHead vc 1000000 bc 64 eq 0 3.8649 ms/op
forkChoice updateHead vc 600000 bc 320 eq 0 2.1896 ms/op
forkChoice updateHead vc 600000 bc 1200 eq 0 2.3960 ms/op
forkChoice updateHead vc 600000 bc 7200 eq 0 2.9787 ms/op
forkChoice updateHead vc 600000 bc 64 eq 1000 9.1929 ms/op
forkChoice updateHead vc 600000 bc 64 eq 10000 9.1073 ms/op
forkChoice updateHead vc 600000 bc 64 eq 300000 12.611 ms/op
computeDeltas 500000 validators 300 proto nodes 5.0868 ms/op
computeDeltas 500000 validators 1200 proto nodes 4.7931 ms/op
computeDeltas 500000 validators 7200 proto nodes 4.6291 ms/op
computeDeltas 750000 validators 300 proto nodes 7.2578 ms/op
computeDeltas 750000 validators 1200 proto nodes 7.1109 ms/op
computeDeltas 750000 validators 7200 proto nodes 7.4791 ms/op
computeDeltas 1400000 validators 300 proto nodes 11.986 ms/op
computeDeltas 1400000 validators 1200 proto nodes 11.412 ms/op
computeDeltas 1400000 validators 7200 proto nodes 11.592 ms/op
computeDeltas 2100000 validators 300 proto nodes 18.173 ms/op
computeDeltas 2100000 validators 1200 proto nodes 17.208 ms/op
computeDeltas 2100000 validators 7200 proto nodes 16.836 ms/op
altair processAttestation - 250000 vs - 7PWei normalcase 1.6114 ms/op
altair processAttestation - 250000 vs - 7PWei worstcase 2.8083 ms/op
altair processAttestation - setStatus - 1/6 committees join 91.530 us/op
altair processAttestation - setStatus - 1/3 committees join 142.84 us/op
altair processAttestation - setStatus - 1/2 committees join 204.79 us/op
altair processAttestation - setStatus - 2/3 committees join 277.51 us/op
altair processAttestation - setStatus - 4/5 committees join 412.92 us/op
altair processAttestation - setStatus - 100% committees join 486.23 us/op
altair processBlock - 250000 vs - 7PWei normalcase 4.5177 ms/op
altair processBlock - 250000 vs - 7PWei normalcase hashState 23.556 ms/op
altair processBlock - 250000 vs - 7PWei worstcase 35.773 ms/op
altair processBlock - 250000 vs - 7PWei worstcase hashState 78.973 ms/op
phase0 processBlock - 250000 vs - 7PWei normalcase 1.8085 ms/op
phase0 processBlock - 250000 vs - 7PWei worstcase 22.308 ms/op
altair processEth1Data - 250000 vs - 7PWei normalcase 297.51 us/op
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 4.9280 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 32.507 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 9.9480 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 6.3250 us/op
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 126.13 us/op
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 862.25 us/op
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.2011 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.1859 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.9908 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.1552 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.3513 ms/op
Tree 40 250000 create 181.42 ms/op
Tree 40 250000 get(125000) 109.00 ns/op
Tree 40 250000 set(125000) 551.54 ns/op
Tree 40 250000 toArray() 17.648 ms/op
Tree 40 250000 iterate all - toArray() + loop 17.219 ms/op
Tree 40 250000 iterate all - get(i) 48.889 ms/op
Array 250000 create 2.4856 ms/op
Array 250000 clone - spread 1.3513 ms/op
Array 250000 get(125000) 0.62000 ns/op
Array 250000 set(125000) 0.60500 ns/op
Array 250000 iterate all - loop 79.032 us/op
phase0 afterProcessEpoch - 250000 vs - 7PWei 43.443 ms/op
Array.fill - length 1000000 2.5995 ms/op
Array push - length 1000000 15.903 ms/op
Array.get 0.26697 ns/op
Uint8Array.get 0.34379 ns/op
phase0 beforeProcessEpoch - 250000 vs - 7PWei 14.799 ms/op
altair processEpoch - mainnet_e81889 269.34 ms/op
mainnet_e81889 - altair beforeProcessEpoch 15.949 ms/op
mainnet_e81889 - altair processJustificationAndFinalization 10.357 us/op
mainnet_e81889 - altair processInactivityUpdates 4.1333 ms/op
mainnet_e81889 - altair processRewardsAndPenalties 51.163 ms/op
mainnet_e81889 - altair processRegistryUpdates 1.9320 us/op
mainnet_e81889 - altair processSlashings 795.00 ns/op
mainnet_e81889 - altair processEth1DataReset 731.00 ns/op
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.6141 ms/op
mainnet_e81889 - altair processSlashingsReset 2.3240 us/op
mainnet_e81889 - altair processRandaoMixesReset 2.8200 us/op
mainnet_e81889 - altair processHistoricalRootsUpdate 705.00 ns/op
mainnet_e81889 - altair processParticipationFlagUpdates 1.3410 us/op
mainnet_e81889 - altair processSyncCommitteeUpdates 731.00 ns/op
mainnet_e81889 - altair afterProcessEpoch 42.087 ms/op
capella processEpoch - mainnet_e217614 1.0320 s/op
mainnet_e217614 - capella beforeProcessEpoch 70.391 ms/op
mainnet_e217614 - capella processJustificationAndFinalization 7.3370 us/op
mainnet_e217614 - capella processInactivityUpdates 13.209 ms/op
mainnet_e217614 - capella processRewardsAndPenalties 236.81 ms/op
mainnet_e217614 - capella processRegistryUpdates 10.914 us/op
mainnet_e217614 - capella processSlashings 745.00 ns/op
mainnet_e217614 - capella processEth1DataReset 700.00 ns/op
mainnet_e217614 - capella processEffectiveBalanceUpdates 6.8242 ms/op
mainnet_e217614 - capella processSlashingsReset 2.7250 us/op
mainnet_e217614 - capella processRandaoMixesReset 3.5080 us/op
mainnet_e217614 - capella processHistoricalRootsUpdate 720.00 ns/op
mainnet_e217614 - capella processParticipationFlagUpdates 1.3800 us/op
mainnet_e217614 - capella afterProcessEpoch 104.44 ms/op
phase0 processEpoch - mainnet_e58758 308.20 ms/op
mainnet_e58758 - phase0 beforeProcessEpoch 80.806 ms/op
mainnet_e58758 - phase0 processJustificationAndFinalization 11.249 us/op
mainnet_e58758 - phase0 processRewardsAndPenalties 26.629 ms/op
mainnet_e58758 - phase0 processRegistryUpdates 3.5000 us/op
mainnet_e58758 - phase0 processSlashings 448.00 ns/op
mainnet_e58758 - phase0 processEth1DataReset 399.00 ns/op
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 780.14 us/op
mainnet_e58758 - phase0 processSlashingsReset 2.7500 us/op
mainnet_e58758 - phase0 processRandaoMixesReset 3.2650 us/op
mainnet_e58758 - phase0 processHistoricalRootsUpdate 945.00 ns/op
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.8120 us/op
mainnet_e58758 - phase0 afterProcessEpoch 37.417 ms/op
phase0 processEffectiveBalanceUpdates - 250000 normalcase 972.73 us/op
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5706 ms/op
altair processInactivityUpdates - 250000 normalcase 15.961 ms/op
altair processInactivityUpdates - 250000 worstcase 15.845 ms/op
phase0 processRegistryUpdates - 250000 normalcase 3.2790 us/op
phase0 processRegistryUpdates - 250000 badcase_full_deposits 301.12 us/op
phase0 processRegistryUpdates - 250000 worstcase 0.5 99.375 ms/op
altair processRewardsAndPenalties - 250000 normalcase 30.456 ms/op
altair processRewardsAndPenalties - 250000 worstcase 42.327 ms/op
phase0 getAttestationDeltas - 250000 normalcase 6.4741 ms/op
phase0 getAttestationDeltas - 250000 worstcase 6.0092 ms/op
phase0 processSlashings - 250000 worstcase 93.661 us/op
altair processSyncCommitteeUpdates - 250000 94.428 ms/op
BeaconState.hashTreeRoot - No change 438.00 ns/op
BeaconState.hashTreeRoot - 1 full validator 79.691 us/op
BeaconState.hashTreeRoot - 32 full validator 1.2138 ms/op
BeaconState.hashTreeRoot - 512 full validator 10.393 ms/op
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 136.29 us/op
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.3673 ms/op
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 15.480 ms/op
BeaconState.hashTreeRoot - 1 balances 69.581 us/op
BeaconState.hashTreeRoot - 32 balances 616.93 us/op
BeaconState.hashTreeRoot - 512 balances 7.5384 ms/op
BeaconState.hashTreeRoot - 250000 balances 185.71 ms/op
aggregationBits - 2048 els - zipIndexesInBitList 23.096 us/op
byteArrayEquals 32 46.821 ns/op
Buffer.compare 32 14.911 ns/op
byteArrayEquals 1024 1.2431 us/op
Buffer.compare 1024 21.874 ns/op
byteArrayEquals 16384 19.573 us/op
Buffer.compare 16384 194.46 ns/op
byteArrayEquals 123687377 151.51 ms/op
Buffer.compare 123687377 5.8945 ms/op
byteArrayEquals 32 - diff last byte 46.509 ns/op
Buffer.compare 32 - diff last byte 15.076 ns/op
byteArrayEquals 1024 - diff last byte 1.2371 us/op
Buffer.compare 1024 - diff last byte 23.182 ns/op
byteArrayEquals 16384 - diff last byte 19.184 us/op
Buffer.compare 16384 - diff last byte 183.97 ns/op
byteArrayEquals 123687377 - diff last byte 152.99 ms/op
Buffer.compare 123687377 - diff last byte 5.4232 ms/op
byteArrayEquals 32 - random bytes 5.0160 ns/op
Buffer.compare 32 - random bytes 16.066 ns/op
byteArrayEquals 1024 - random bytes 4.9950 ns/op
Buffer.compare 1024 - random bytes 15.961 ns/op
byteArrayEquals 16384 - random bytes 5.0290 ns/op
Buffer.compare 16384 - random bytes 15.383 ns/op
byteArrayEquals 123687377 - random bytes 7.7300 ns/op
Buffer.compare 123687377 - random bytes 18.270 ns/op
regular array get 100000 times 30.470 us/op
wrappedArray get 100000 times 30.308 us/op
arrayWithProxy get 100000 times 10.511 ms/op
ssz.Root.equals 44.829 ns/op
byteArrayEquals 43.853 ns/op
Buffer.compare 9.3920 ns/op
processSlot - 1 slots 20.273 us/op
processSlot - 32 slots 2.9817 ms/op
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 37.099 ms/op
getCommitteeAssignments - req 1 vs - 250000 vc 1.9472 ms/op
getCommitteeAssignments - req 100 vs - 250000 vc 3.6580 ms/op
getCommitteeAssignments - req 1000 vs - 250000 vc 4.0050 ms/op
findModifiedValidators - 10000 modified validators 307.76 ms/op
findModifiedValidators - 1000 modified validators 205.91 ms/op
findModifiedValidators - 100 modified validators 189.61 ms/op
findModifiedValidators - 10 modified validators 183.16 ms/op
findModifiedValidators - 1 modified validators 155.23 ms/op
findModifiedValidators - no difference 184.01 ms/op
compare ViewDUs 3.7779 s/op
compare each validator Uint8Array 1.0963 s/op
compare ViewDU to Uint8Array 830.13 ms/op
migrate state 1000000 validators, 24 modified, 0 new 703.23 ms/op
migrate state 1000000 validators, 1700 modified, 1000 new 938.70 ms/op
migrate state 1000000 validators, 3400 modified, 2000 new 1.1528 s/op
migrate state 1500000 validators, 24 modified, 0 new 653.40 ms/op
migrate state 1500000 validators, 1700 modified, 1000 new 968.47 ms/op
migrate state 1500000 validators, 3400 modified, 2000 new 1.0938 s/op
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.3300 ns/op
state getBlockRootAtSlot - 250000 vs - 7PWei 391.89 ns/op
computeProposers - vc 250000 5.7767 ms/op
computeEpochShuffling - vc 250000 37.101 ms/op
getNextSyncCommittee - vc 250000 124.23 ms/op
computeSigningRoot for AttestationData 20.182 us/op
hash AttestationData serialized data then Buffer.toString(base64) 1.2503 us/op
toHexString serialized data 856.22 ns/op
Buffer.toString(base64) 171.24 ns/op
nodejs block root to RootHex using toHex 127.88 ns/op
nodejs block root to RootHex using toRootHex 79.200 ns/op
browser block root to RootHex using the deprecated toHexString 222.58 ns/op
browser block root to RootHex using toHex 183.12 ns/op
browser block root to RootHex using toRootHex 157.79 ns/op

by benchmarkbot/action

@twoeths twoeths changed the base branch from unstable to stable December 11, 2024 01:41
Revert "chore: unpin nodejs version from 22.4 (#6982)"

This reverts commit 69ae688.
@twoeths
Copy link
Contributor

twoeths commented Dec 13, 2024

posting the beacon_attestation issue we found offline

  • on beta mainnet
Screenshot 2024-12-13 at 08 21 36
  • on stable mainnet
Screenshot 2024-12-13 at 08 21 57

@twoeths
Copy link
Contributor

twoeths commented Dec 17, 2024

looks like noise to me

0d404f890e fix: archive finalized state when shutting down beacon node (#7221)           ===> feat4 mainnet
e2c45b9ca5 chore: revert async aggregate with randomness (#7218)                         ===> feat3 mainnet
07d1145194 fix: consistently validate pubkey and throw 404 if not found (#7214).         ===> feat2 mainnet
70f67bbfe9 (tag: v1.23.0-rc.1, origin/rc/v1.23.0) chore: bump package versions to 1.23.0 ===> feat1 mainnet

the issue happens to all of them

  • the stable mainnet node is not as great as when we zoom in, this is in the last 30 days
Screenshot 2024-12-17 at 15 49 51
  • the same issue happen to the beta node in the last 30 days, which have almost same deployment to stable
Screenshot 2024-12-17 at 15 51 58

so my explanation for it would be somehow the stable mainnet node is better than other nodes with the same deployment, also it's been deployed for >30 days ago which make it better metrics

@wemeetagain wemeetagain deleted the rc/v1.24.0 branch December 20, 2024 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants