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: release v1.17.0 #6508

Closed
wants to merge 32 commits into from
Closed

chore: release v1.17.0 #6508

wants to merge 32 commits into from

Conversation

philknows
Copy link
Member

Motivation

As discussed on Mar 5, 2024 standup, we will be releasing an optimization upgrade for users.

FaybianB and others added 30 commits February 21, 2024 13:47
* refactor: update retry function

* chore: subtract 1 from retry values

* Keep same number of retries in download test

* Update retry function

* Fix jsonRpcHttpClient tests

* Restore comment

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* refactor: reuse command types/utils across packages

* Allow  as an alternative to setting a default

* Update prover cmd options

* Update comment

* Fix comment

* Remove unused import

* Demand option if arg must be provided

* Update handler
ci: fix downloading chrome in browser tests
* Add block rewards api

* Add test

* Add unit test

* Lint

* Address comment

* Reduce code redundancy

* Read reward cache first before calculate

* Lint

* Partially address comments

* Accept optional postState to get the reward cache

* Update test

* lint

* Update packages/beacon-node/src/chain/rewards/blockRewards.ts

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* Update packages/beacon-node/src/chain/rewards/blockRewards.ts

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* Update packages/beacon-node/src/chain/rewards/blockRewards.ts

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* Update packages/beacon-node/src/chain/rewards/blockRewards.ts

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* Rename proposerRewards to blockRewards. Fix import

* Remove getBlockRewards from api ignore list

* Fix test

* Rename state to preState

* Add description to fields in BlockRewards

* Clean up imports

* Use jsdoc to document properties

* Apply suggestions from code review

* Add `getPreStateSync()`

* fix: clone states to compute block rewards

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
Co-authored-by: Cayman <caymannava@gmail.com>
Co-authored-by: Tuyen Nguyen <vutuyen2636@gmail.com>
* chore: clean up prettier-ignore in tests

* setConfig needs to be called in describe

* Set test timeout as hookTimeout

* Rename variable

* Remove unrelated change

* Better name for min capella time variable
* chore: add eslint rule to prevent unused expressions

* Fix unit tests
* Request retries are abortable

* Reduce timeouts in tests

* Abort retry if not first attempt
* fix: increase bodyLimit of the beacon api server

* update limit
#6478)

remove extra validation from builder response in builder proposal
* Add new assertions for multi-fork sim tests

* Remove redundant sim-merge test

* Remove the unused script file and update docs

* Fix an edge case for multi-client tests

* Remove unused ci tasks

* Enable all nodes
* chore: cleanup older dependencies

* chore: some more removed dependencies
* fix: update events test data

* fix: reflect typo fix

* fix: remove workarounds

* chore: remove now irrelevan dropOneOf option

* Fix parent block number in SSE payload attributes

* Tests pass against latest spec version

* Update comment

* Lint

* Update beacon api spec to v2.5.0

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* Update typescript

* Fix lint errors
* chore: detect when docker is not installed

* chore: improve e2e tests requirement
* Upgrade eslint and prettier

* Fix the lint errors
* chore: add eslint rule to restrict global fetch

* Add comment to eslint disable

* Rephrase comment
* Delete lodash.pick package

* Lint

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* update vc-configuration md doc

* Grammar correction

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* Show only one ref on text

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* Put create keystore under setup validator

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* feat: regen to consume state cache reload api

* chore: address PR comments
* Add block rewards api

* Add test

* Add unit test

* Lint

* Address comment

* Reduce code redundancy

* Read reward cache first before calculate

* Lint

* Add endpoint definition for sync rewards

* Add calculation logic

* Lint

* Follow convention from block rewards

* Include getSyncCommitteeRewards in unit test

* Update packages/beacon-node/src/chain/rewards/syncCommitteeRewards.ts

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* Update packages/beacon-node/src/api/impl/beacon/rewards/index.ts

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* Improve filtering logic

* Early throw on empty preState in getBlockRewards

* Add jsdoc

* Address comment

* Clarify comment

* Address comment

* Update packages/beacon-node/src/chain/rewards/syncCommitteeRewards.ts

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* Improve naming of filters

* Lint

* Update packages/beacon-node/src/chain/rewards/syncCommitteeRewards.ts

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* ids -> validatorIds

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* feat: aggressively pull blobs as soon as we see the block

* fixes

* some logging improvement

* improve log

* fix tsc

* improve comments

* apply feedback

* refactor to a separate event and handler for unknownblock input

* fix e2e

* reduce diff

* add metric to track availability resolution

* fix circular include issue
…#6504)

* feat: new getCheckpointStateOrBytes() api and clone states from cache

* fix: clone states without transferring cache

* fix: persistentCheckpointsCache.test.ts unit test

* fix: remove .only in persistentCheckpointsCache.test.ts
Copy link

codecov bot commented Mar 5, 2024

Codecov Report

Merging #6508 (3875463) into stable (14ea654) will decrease coverage by 0.12%.
The diff coverage is 52.07%.

Additional details and impacted files
@@            Coverage Diff             @@
##           stable    #6508      +/-   ##
==========================================
- Coverage   61.65%   61.53%   -0.12%     
==========================================
  Files         553      556       +3     
  Lines       57998    58647     +649     
  Branches     1843     1847       +4     
==========================================
+ Hits        35756    36087     +331     
- Misses      22206    22520     +314     
- Partials       36       40       +4     

Copy link
Contributor

github-actions bot commented Mar 5, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 61f2574 Previous: - Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 578.86 us/op
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 100.92 us/op
BLS verify - blst-native 1.3508 ms/op
BLS verifyMultipleSignatures 3 - blst-native 2.8491 ms/op
BLS verifyMultipleSignatures 8 - blst-native 6.2196 ms/op
BLS verifyMultipleSignatures 32 - blst-native 22.797 ms/op
BLS verifyMultipleSignatures 64 - blst-native 45.614 ms/op
BLS verifyMultipleSignatures 128 - blst-native 89.025 ms/op
BLS deserializing 10000 signatures 969.74 ms/op
BLS deserializing 100000 signatures 9.5184 s/op
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3276 ms/op
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.4955 ms/op
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.2931 ms/op
BLS verifyMultipleSignatures - same message - 64 - blst-native 4.6294 ms/op
BLS verifyMultipleSignatures - same message - 128 - blst-native 7.9589 ms/op
BLS aggregatePubkeys 32 - blst-native 25.489 us/op
BLS aggregatePubkeys 128 - blst-native 99.966 us/op
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 51.233 ms/op
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 51.752 ms/op
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 34.949 ms/op
getSlashingsAndExits - default max 169.32 us/op
getSlashingsAndExits - 2k 5.9529 ms/op
proposeBlockBody type=full, size=empty 6.4318 ms/op
isKnown best case - 1 super set check 334.00 ns/op
isKnown normal case - 2 super set checks 303.00 ns/op
isKnown worse case - 16 super set checks 309.00 ns/op
CheckpointStateCache - add get delete 6.1450 us/op
validate api signedAggregateAndProof - struct 2.7387 ms/op
validate gossip signedAggregateAndProof - struct 2.7799 ms/op
validate gossip attestation - vc 640000 1.3557 ms/op
batch validate gossip attestation - vc 640000 - chunk 32 165.60 us/op
batch validate gossip attestation - vc 640000 - chunk 64 151.76 us/op
batch validate gossip attestation - vc 640000 - chunk 128 199.47 us/op
batch validate gossip attestation - vc 640000 - chunk 256 149.17 us/op
pickEth1Vote - no votes 1.4386 ms/op
pickEth1Vote - max votes 8.9194 ms/op
pickEth1Vote - Eth1Data hashTreeRoot value x2048 21.453 ms/op
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 33.619 ms/op
pickEth1Vote - Eth1Data fastSerialize value x2048 779.83 us/op
pickEth1Vote - Eth1Data fastSerialize tree x2048 7.3366 ms/op
bytes32 toHexString 721.00 ns/op
bytes32 Buffer.toString(hex) 310.00 ns/op
bytes32 Buffer.toString(hex) from Uint8Array 433.00 ns/op
bytes32 Buffer.toString(hex) + 0x 282.00 ns/op
Object access 1 prop 0.16700 ns/op
Map access 1 prop 0.15200 ns/op
Object get x1000 7.7960 ns/op
Map get x1000 0.77600 ns/op
Object set x1000 55.769 ns/op
Map set x1000 41.253 ns/op
Return object 10000 times 0.24610 ns/op
Throw Error 10000 times 3.9563 us/op
fastMsgIdFn sha256 / 200 bytes 3.3530 us/op
fastMsgIdFn h32 xxhash / 200 bytes 289.00 ns/op
fastMsgIdFn h64 xxhash / 200 bytes 359.00 ns/op
fastMsgIdFn sha256 / 1000 bytes 11.674 us/op
fastMsgIdFn h32 xxhash / 1000 bytes 430.00 ns/op
fastMsgIdFn h64 xxhash / 1000 bytes 437.00 ns/op
fastMsgIdFn sha256 / 10000 bytes 104.44 us/op
fastMsgIdFn h32 xxhash / 10000 bytes 2.0310 us/op
fastMsgIdFn h64 xxhash / 10000 bytes 1.3760 us/op
send data - 1000 256B messages 19.561 ms/op
send data - 1000 512B messages 26.323 ms/op
send data - 1000 1024B messages 48.194 ms/op
send data - 1000 1200B messages 41.029 ms/op
send data - 1000 2048B messages 50.953 ms/op
send data - 1000 4096B messages 42.480 ms/op
send data - 1000 16384B messages 115.60 ms/op
send data - 1000 65536B messages 523.49 ms/op
enrSubnets - fastDeserialize 64 bits 1.3070 us/op
enrSubnets - ssz BitVector 64 bits 419.00 ns/op
enrSubnets - fastDeserialize 4 bits 175.00 ns/op
enrSubnets - ssz BitVector 4 bits 434.00 ns/op
prioritizePeers score -10:0 att 32-0.1 sync 2-0 106.92 us/op
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 131.58 us/op
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 168.55 us/op
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 314.35 us/op
prioritizePeers score 0:0 att 64-1 sync 4-1 366.93 us/op
array of 16000 items push then shift 1.7133 us/op
LinkedList of 16000 items push then shift 9.2580 ns/op
array of 16000 items push then pop 94.523 ns/op
LinkedList of 16000 items push then pop 8.8100 ns/op
array of 24000 items push then shift 2.6107 us/op
LinkedList of 24000 items push then shift 8.9970 ns/op
array of 24000 items push then pop 131.71 ns/op
LinkedList of 24000 items push then pop 9.0720 ns/op
intersect bitArray bitLen 8 6.0760 ns/op
intersect array and set length 8 76.381 ns/op
intersect bitArray bitLen 128 37.889 ns/op
intersect array and set length 128 949.60 ns/op
bitArray.getTrueBitIndexes() bitLen 128 1.7980 us/op
bitArray.getTrueBitIndexes() bitLen 248 3.2000 us/op
bitArray.getTrueBitIndexes() bitLen 512 5.9520 us/op
Buffer.concat 32 items 1.0480 us/op
Uint8Array.set 32 items 2.4660 us/op
Set add up to 64 items then delete first 5.0143 us/op
OrderedSet add up to 64 items then delete first 6.6046 us/op
Set add up to 64 items then delete last 5.3711 us/op
OrderedSet add up to 64 items then delete last 7.0278 us/op
Set add up to 64 items then delete middle 5.3501 us/op
OrderedSet add up to 64 items then delete middle 8.3658 us/op
Set add up to 128 items then delete first 10.702 us/op
OrderedSet add up to 128 items then delete first 14.255 us/op
Set add up to 128 items then delete last 10.333 us/op
OrderedSet add up to 128 items then delete last 13.770 us/op
Set add up to 128 items then delete middle 10.706 us/op
OrderedSet add up to 128 items then delete middle 19.364 us/op
Set add up to 256 items then delete first 21.866 us/op
OrderedSet add up to 256 items then delete first 31.224 us/op
Set add up to 256 items then delete last 21.531 us/op
OrderedSet add up to 256 items then delete last 29.949 us/op
Set add up to 256 items then delete middle 20.143 us/op
OrderedSet add up to 256 items then delete middle 51.027 us/op
transfer serialized Status (84 B) 1.9590 us/op
copy serialized Status (84 B) 1.4970 us/op
transfer serialized SignedVoluntaryExit (112 B) 2.1600 us/op
copy serialized SignedVoluntaryExit (112 B) 1.4140 us/op
transfer serialized ProposerSlashing (416 B) 2.3650 us/op
copy serialized ProposerSlashing (416 B) 2.0720 us/op
transfer serialized Attestation (485 B) 2.2570 us/op
copy serialized Attestation (485 B) 1.9970 us/op
transfer serialized AttesterSlashing (33232 B) 2.0850 us/op
copy serialized AttesterSlashing (33232 B) 5.6570 us/op
transfer serialized Small SignedBeaconBlock (128000 B) 2.5750 us/op
copy serialized Small SignedBeaconBlock (128000 B) 17.182 us/op
transfer serialized Avg SignedBeaconBlock (200000 B) 2.8980 us/op
copy serialized Avg SignedBeaconBlock (200000 B) 26.182 us/op
transfer serialized BlobsSidecar (524380 B) 3.2860 us/op
copy serialized BlobsSidecar (524380 B) 156.11 us/op
transfer serialized Big SignedBeaconBlock (1000000 B) 4.1590 us/op
copy serialized Big SignedBeaconBlock (1000000 B) 178.51 us/op
pass gossip attestations to forkchoice per slot 8.4643 ms/op
forkChoice updateHead vc 100000 bc 64 eq 0 704.91 us/op
forkChoice updateHead vc 600000 bc 64 eq 0 7.0754 ms/op
forkChoice updateHead vc 1000000 bc 64 eq 0 7.6760 ms/op
forkChoice updateHead vc 600000 bc 320 eq 0 4.5090 ms/op
forkChoice updateHead vc 600000 bc 1200 eq 0 4.7338 ms/op
forkChoice updateHead vc 600000 bc 7200 eq 0 6.1788 ms/op
forkChoice updateHead vc 600000 bc 64 eq 1000 11.920 ms/op
forkChoice updateHead vc 600000 bc 64 eq 10000 13.834 ms/op
forkChoice updateHead vc 600000 bc 64 eq 300000 20.783 ms/op
computeDeltas 500000 validators 300 proto nodes 7.2427 ms/op
computeDeltas 500000 validators 1200 proto nodes 7.0937 ms/op
computeDeltas 500000 validators 7200 proto nodes 7.0194 ms/op
computeDeltas 750000 validators 300 proto nodes 10.360 ms/op
computeDeltas 750000 validators 1200 proto nodes 10.293 ms/op
computeDeltas 750000 validators 7200 proto nodes 10.173 ms/op
computeDeltas 1400000 validators 300 proto nodes 19.553 ms/op
computeDeltas 1400000 validators 1200 proto nodes 20.139 ms/op
computeDeltas 1400000 validators 7200 proto nodes 20.420 ms/op
computeDeltas 2100000 validators 300 proto nodes 28.572 ms/op
computeDeltas 2100000 validators 1200 proto nodes 29.849 ms/op
computeDeltas 2100000 validators 7200 proto nodes 29.450 ms/op
altair processAttestation - 250000 vs - 7PWei normalcase 2.5078 ms/op
altair processAttestation - 250000 vs - 7PWei worstcase 5.0865 ms/op
altair processAttestation - setStatus - 1/6 committees join 174.02 us/op
altair processAttestation - setStatus - 1/3 committees join 310.94 us/op
altair processAttestation - setStatus - 1/2 committees join 465.49 us/op
altair processAttestation - setStatus - 2/3 committees join 524.20 us/op
altair processAttestation - setStatus - 4/5 committees join 727.25 us/op
altair processAttestation - setStatus - 100% committees join 848.37 us/op
altair processBlock - 250000 vs - 7PWei normalcase 12.558 ms/op
altair processBlock - 250000 vs - 7PWei normalcase hashState 47.038 ms/op
altair processBlock - 250000 vs - 7PWei worstcase 41.504 ms/op
altair processBlock - 250000 vs - 7PWei worstcase hashState 111.01 ms/op
phase0 processBlock - 250000 vs - 7PWei normalcase 3.3892 ms/op
phase0 processBlock - 250000 vs - 7PWei worstcase 33.911 ms/op
altair processEth1Data - 250000 vs - 7PWei normalcase 867.23 us/op
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 19.234 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 57.594 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 35.962 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 23.171 us/op
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 186.11 us/op
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.7217 ms/op
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.3848 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.2599 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.6362 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.9224 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 6.1901 ms/op
Tree 40 250000 create 486.79 ms/op
Tree 40 250000 get(125000) 218.72 ns/op
Tree 40 250000 set(125000) 1.2165 us/op
Tree 40 250000 toArray() 24.274 ms/op
Tree 40 250000 iterate all - toArray() + loop 24.282 ms/op
Tree 40 250000 iterate all - get(i) 78.236 ms/op
MutableVector 250000 create 17.390 ms/op
MutableVector 250000 get(125000) 6.7390 ns/op
MutableVector 250000 set(125000) 328.40 ns/op
MutableVector 250000 toArray() 3.7847 ms/op
MutableVector 250000 iterate all - toArray() + loop 4.0474 ms/op
MutableVector 250000 iterate all - get(i) 1.6287 ms/op
Array 250000 create 3.4106 ms/op
Array 250000 clone - spread 1.5207 ms/op
Array 250000 get(125000) 1.2390 ns/op
Array 250000 set(125000) 4.7720 ns/op
Array 250000 iterate all - loop 189.42 us/op
effectiveBalanceIncrements clone Uint8Array 300000 47.449 us/op
effectiveBalanceIncrements clone MutableVector 300000 460.00 ns/op
effectiveBalanceIncrements rw all Uint8Array 300000 201.98 us/op
effectiveBalanceIncrements rw all MutableVector 300000 106.01 ms/op
phase0 afterProcessEpoch - 250000 vs - 7PWei 130.83 ms/op
phase0 beforeProcessEpoch - 250000 vs - 7PWei 58.094 ms/op
altair processEpoch - mainnet_e81889 577.54 ms/op
mainnet_e81889 - altair beforeProcessEpoch 88.627 ms/op
mainnet_e81889 - altair processJustificationAndFinalization 15.815 us/op
mainnet_e81889 - altair processInactivityUpdates 6.3164 ms/op
mainnet_e81889 - altair processRewardsAndPenalties 72.333 ms/op
mainnet_e81889 - altair processRegistryUpdates 3.7540 us/op
mainnet_e81889 - altair processSlashings 451.00 ns/op
mainnet_e81889 - altair processEth1DataReset 968.00 ns/op
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.8001 ms/op
mainnet_e81889 - altair processSlashingsReset 4.0720 us/op
mainnet_e81889 - altair processRandaoMixesReset 6.2550 us/op
mainnet_e81889 - altair processHistoricalRootsUpdate 1.2490 us/op
mainnet_e81889 - altair processParticipationFlagUpdates 2.8510 us/op
mainnet_e81889 - altair processSyncCommitteeUpdates 671.00 ns/op
mainnet_e81889 - altair afterProcessEpoch 125.39 ms/op
capella processEpoch - mainnet_e217614 2.7881 s/op
mainnet_e217614 - capella beforeProcessEpoch 664.70 ms/op
mainnet_e217614 - capella processJustificationAndFinalization 36.994 us/op
mainnet_e217614 - capella processInactivityUpdates 38.655 ms/op
mainnet_e217614 - capella processRewardsAndPenalties 535.15 ms/op
mainnet_e217614 - capella processRegistryUpdates 38.219 us/op
mainnet_e217614 - capella processSlashings 1.7920 us/op
mainnet_e217614 - capella processEth1DataReset 921.00 ns/op
mainnet_e217614 - capella processEffectiveBalanceUpdates 6.8146 ms/op
mainnet_e217614 - capella processSlashingsReset 6.2530 us/op
mainnet_e217614 - capella processRandaoMixesReset 9.1610 us/op
mainnet_e217614 - capella processHistoricalRootsUpdate 1.0400 us/op
mainnet_e217614 - capella processParticipationFlagUpdates 4.1750 us/op
mainnet_e217614 - capella afterProcessEpoch 346.90 ms/op
phase0 processEpoch - mainnet_e58758 563.28 ms/op
mainnet_e58758 - phase0 beforeProcessEpoch 183.76 ms/op
mainnet_e58758 - phase0 processJustificationAndFinalization 28.508 us/op
mainnet_e58758 - phase0 processRewardsAndPenalties 64.037 ms/op
mainnet_e58758 - phase0 processRegistryUpdates 18.965 us/op
mainnet_e58758 - phase0 processSlashings 1.1270 us/op
mainnet_e58758 - phase0 processEth1DataReset 999.00 ns/op
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.8290 ms/op
mainnet_e58758 - phase0 processSlashingsReset 6.7740 us/op
mainnet_e58758 - phase0 processRandaoMixesReset 9.5450 us/op
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.0540 us/op
mainnet_e58758 - phase0 processParticipationRecordUpdates 7.3910 us/op
mainnet_e58758 - phase0 afterProcessEpoch 106.86 ms/op
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.1994 ms/op
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.4235 ms/op
altair processInactivityUpdates - 250000 normalcase 41.929 ms/op
altair processInactivityUpdates - 250000 worstcase 34.093 ms/op
phase0 processRegistryUpdates - 250000 normalcase 19.467 us/op
phase0 processRegistryUpdates - 250000 badcase_full_deposits 557.82 us/op
phase0 processRegistryUpdates - 250000 worstcase 0.5 179.38 ms/op
altair processRewardsAndPenalties - 250000 normalcase 66.786 ms/op
altair processRewardsAndPenalties - 250000 worstcase 69.972 ms/op
phase0 getAttestationDeltas - 250000 normalcase 12.636 ms/op
phase0 getAttestationDeltas - 250000 worstcase 12.896 ms/op
phase0 processSlashings - 250000 worstcase 141.49 us/op
altair processSyncCommitteeUpdates - 250000 185.03 ms/op
BeaconState.hashTreeRoot - No change 962.00 ns/op
BeaconState.hashTreeRoot - 1 full validator 179.54 us/op
BeaconState.hashTreeRoot - 32 full validator 1.6992 ms/op
BeaconState.hashTreeRoot - 512 full validator 22.312 ms/op
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 193.77 us/op
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.6295 ms/op
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 38.993 ms/op
BeaconState.hashTreeRoot - 1 balances 153.30 us/op
BeaconState.hashTreeRoot - 32 balances 1.4736 ms/op
BeaconState.hashTreeRoot - 512 balances 15.910 ms/op
BeaconState.hashTreeRoot - 250000 balances 270.33 ms/op
aggregationBits - 2048 els - zipIndexesInBitList 27.300 us/op
byteArrayEquals 32 117.00 ns/op
Buffer.compare 32 69.234 ns/op
byteArrayEquals 1024 2.8622 us/op
Buffer.compare 1024 86.193 ns/op
byteArrayEquals 16384 47.949 us/op
Buffer.compare 16384 357.71 ns/op
byteArrayEquals 123687377 342.47 ms/op
Buffer.compare 123687377 12.281 ms/op
byteArrayEquals 32 - diff last byte 119.34 ns/op
Buffer.compare 32 - diff last byte 70.637 ns/op
byteArrayEquals 1024 - diff last byte 3.4486 us/op
Buffer.compare 1024 - diff last byte 91.463 ns/op
byteArrayEquals 16384 - diff last byte 46.726 us/op
Buffer.compare 16384 - diff last byte 373.38 ns/op
byteArrayEquals 123687377 - diff last byte 392.22 ms/op
Buffer.compare 123687377 - diff last byte 17.413 ms/op
byteArrayEquals 32 - random bytes 13.040 ns/op
Buffer.compare 32 - random bytes 90.577 ns/op
byteArrayEquals 1024 - random bytes 9.6680 ns/op
Buffer.compare 1024 - random bytes 84.315 ns/op
byteArrayEquals 16384 - random bytes 8.8430 ns/op
Buffer.compare 16384 - random bytes 87.661 ns/op
byteArrayEquals 123687377 - random bytes 22.440 ns/op
Buffer.compare 123687377 - random bytes 88.940 ns/op
regular array get 100000 times 53.698 us/op
wrappedArray get 100000 times 51.672 us/op
arrayWithProxy get 100000 times 24.534 ms/op
ssz.Root.equals 75.664 ns/op
byteArrayEquals 69.191 ns/op
Buffer.compare 17.354 ns/op
shuffle list - 16384 els 8.6565 ms/op
shuffle list - 250000 els 130.44 ms/op
processSlot - 1 slots 27.817 us/op
processSlot - 32 slots 6.8671 ms/op
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 82.739 ms/op
getCommitteeAssignments - req 1 vs - 250000 vc 2.9046 ms/op
getCommitteeAssignments - req 100 vs - 250000 vc 4.4753 ms/op
getCommitteeAssignments - req 1000 vs - 250000 vc 5.0831 ms/op
findModifiedValidators - 10000 modified validators 856.23 ms/op
findModifiedValidators - 1000 modified validators 660.09 ms/op
findModifiedValidators - 100 modified validators 622.06 ms/op
findModifiedValidators - 10 modified validators 633.07 ms/op
findModifiedValidators - 1 modified validators 585.61 ms/op
findModifiedValidators - no difference 556.70 ms/op
compare ViewDUs 5.8811 s/op
compare each validator Uint8Array 1.8692 s/op
compare ViewDU to Uint8Array 1.3288 s/op
migrate state 1000000 validators, 24 modified, 0 new 920.43 ms/op
migrate state 1000000 validators, 1700 modified, 1000 new 1.3287 s/op
migrate state 1000000 validators, 3400 modified, 2000 new 1.3531 s/op
migrate state 1500000 validators, 24 modified, 0 new 867.81 ms/op
migrate state 1500000 validators, 1700 modified, 1000 new 1.1188 s/op
migrate state 1500000 validators, 3400 modified, 2000 new 1.4114 s/op
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.7200 ns/op
state getBlockRootAtSlot - 250000 vs - 7PWei 596.17 ns/op
computeProposers - vc 250000 9.5678 ms/op
computeEpochShuffling - vc 250000 108.33 ms/op
getNextSyncCommittee - vc 250000 171.18 ms/op
computeSigningRoot for AttestationData 27.347 us/op
hash AttestationData serialized data then Buffer.toString(base64) 2.3982 us/op
toHexString serialized data 1.1049 us/op
Buffer.toString(base64) 232.82 ns/op

by benchmarkbot/action

twoeths and others added 2 commits March 6, 2024 11:49
* feat: clone option for state caches

* fix: compilation error
* chore: simplify LightClient usage

* chore: lint

* chore: lint
@philknows
Copy link
Member Author

Closing, will re-release from current unstable at cae26be

@philknows philknows closed this Mar 8, 2024
@philknows philknows deleted the rc/v1.17.0 branch March 8, 2024 15:37
@philknows philknows mentioned this pull request Mar 8, 2024
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.

None yet

10 participants