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 #6523

Merged
merged 35 commits into from Mar 11, 2024
Merged

chore: release v1.17.0 #6523

merged 35 commits into from Mar 11, 2024

Conversation

philknows
Copy link
Member

Motivation

Re-releasing v1.17.0 with RC.2 at commit cae26be. This supersedes PR #6508 .

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
* feat: clone option for state caches

* fix: compilation error
Copy link
Contributor

github-actions bot commented Mar 8, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: a226d03 Previous: - Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 635.53 us/op
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 143.01 us/op
BLS verify - blst-native 1.3692 ms/op
BLS verifyMultipleSignatures 3 - blst-native 2.8837 ms/op
BLS verifyMultipleSignatures 8 - blst-native 6.7701 ms/op
BLS verifyMultipleSignatures 32 - blst-native 23.318 ms/op
BLS verifyMultipleSignatures 64 - blst-native 49.134 ms/op
BLS verifyMultipleSignatures 128 - blst-native 103.49 ms/op
BLS deserializing 10000 signatures 1.0341 s/op
BLS deserializing 100000 signatures 9.4439 s/op
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.6993 ms/op
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.8066 ms/op
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.8125 ms/op
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.9704 ms/op
BLS verifyMultipleSignatures - same message - 128 - blst-native 6.2626 ms/op
BLS aggregatePubkeys 32 - blst-native 27.414 us/op
BLS aggregatePubkeys 128 - blst-native 106.51 us/op
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 93.696 ms/op
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 83.613 ms/op
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 68.356 ms/op
getSlashingsAndExits - default max 477.89 us/op
getSlashingsAndExits - 2k 1.1197 ms/op
proposeBlockBody type=full, size=empty 7.4188 ms/op
isKnown best case - 1 super set check 531.00 ns/op
isKnown normal case - 2 super set checks 560.00 ns/op
isKnown worse case - 16 super set checks 512.00 ns/op
CheckpointStateCache - add get delete 7.7300 us/op
validate api signedAggregateAndProof - struct 2.8724 ms/op
validate gossip signedAggregateAndProof - struct 3.2379 ms/op
validate gossip attestation - vc 640000 1.4437 ms/op
batch validate gossip attestation - vc 640000 - chunk 32 189.67 us/op
batch validate gossip attestation - vc 640000 - chunk 64 157.48 us/op
batch validate gossip attestation - vc 640000 - chunk 128 155.08 us/op
batch validate gossip attestation - vc 640000 - chunk 256 156.48 us/op
pickEth1Vote - no votes 1.5623 ms/op
pickEth1Vote - max votes 15.462 ms/op
pickEth1Vote - Eth1Data hashTreeRoot value x2048 24.327 ms/op
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 34.028 ms/op
pickEth1Vote - Eth1Data fastSerialize value x2048 951.15 us/op
pickEth1Vote - Eth1Data fastSerialize tree x2048 7.2339 ms/op
bytes32 toHexString 1.0740 us/op
bytes32 Buffer.toString(hex) 379.00 ns/op
bytes32 Buffer.toString(hex) from Uint8Array 663.00 ns/op
bytes32 Buffer.toString(hex) + 0x 362.00 ns/op
Object access 1 prop 0.25400 ns/op
Map access 1 prop 0.17100 ns/op
Object get x1000 8.0730 ns/op
Map get x1000 0.98400 ns/op
Object set x1000 86.519 ns/op
Map set x1000 59.852 ns/op
Return object 10000 times 0.27050 ns/op
Throw Error 10000 times 4.1266 us/op
fastMsgIdFn sha256 / 200 bytes 3.6680 us/op
fastMsgIdFn h32 xxhash / 200 bytes 403.00 ns/op
fastMsgIdFn h64 xxhash / 200 bytes 434.00 ns/op
fastMsgIdFn sha256 / 1000 bytes 12.696 us/op
fastMsgIdFn h32 xxhash / 1000 bytes 538.00 ns/op
fastMsgIdFn h64 xxhash / 1000 bytes 573.00 ns/op
fastMsgIdFn sha256 / 10000 bytes 110.21 us/op
fastMsgIdFn h32 xxhash / 10000 bytes 2.4320 us/op
fastMsgIdFn h64 xxhash / 10000 bytes 1.5680 us/op
send data - 1000 256B messages 24.339 ms/op
send data - 1000 512B messages 32.407 ms/op
send data - 1000 1024B messages 45.171 ms/op
send data - 1000 1200B messages 51.035 ms/op
send data - 1000 2048B messages 60.826 ms/op
send data - 1000 4096B messages 46.024 ms/op
send data - 1000 16384B messages 144.02 ms/op
send data - 1000 65536B messages 494.46 ms/op
enrSubnets - fastDeserialize 64 bits 1.2870 us/op
enrSubnets - ssz BitVector 64 bits 423.00 ns/op
enrSubnets - fastDeserialize 4 bits 170.00 ns/op
enrSubnets - ssz BitVector 4 bits 417.00 ns/op
prioritizePeers score -10:0 att 32-0.1 sync 2-0 109.55 us/op
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 148.71 us/op
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 167.27 us/op
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 327.15 us/op
prioritizePeers score 0:0 att 64-1 sync 4-1 361.43 us/op
array of 16000 items push then shift 1.7422 us/op
LinkedList of 16000 items push then shift 9.5480 ns/op
array of 16000 items push then pop 99.868 ns/op
LinkedList of 16000 items push then pop 8.9550 ns/op
array of 24000 items push then shift 2.4828 us/op
LinkedList of 24000 items push then shift 9.0870 ns/op
array of 24000 items push then pop 144.70 ns/op
LinkedList of 24000 items push then pop 9.2440 ns/op
intersect bitArray bitLen 8 6.3170 ns/op
intersect array and set length 8 73.980 ns/op
intersect bitArray bitLen 128 35.683 ns/op
intersect array and set length 128 959.76 ns/op
bitArray.getTrueBitIndexes() bitLen 128 1.6550 us/op
bitArray.getTrueBitIndexes() bitLen 248 2.9240 us/op
bitArray.getTrueBitIndexes() bitLen 512 5.4180 us/op
Buffer.concat 32 items 1.0520 us/op
Uint8Array.set 32 items 2.0030 us/op
Set add up to 64 items then delete first 4.4726 us/op
OrderedSet add up to 64 items then delete first 6.0949 us/op
Set add up to 64 items then delete last 5.1851 us/op
OrderedSet add up to 64 items then delete last 6.1225 us/op
Set add up to 64 items then delete middle 4.8656 us/op
OrderedSet add up to 64 items then delete middle 7.8485 us/op
Set add up to 128 items then delete first 10.286 us/op
OrderedSet add up to 128 items then delete first 13.790 us/op
Set add up to 128 items then delete last 10.854 us/op
OrderedSet add up to 128 items then delete last 14.788 us/op
Set add up to 128 items then delete middle 10.788 us/op
OrderedSet add up to 128 items then delete middle 21.381 us/op
Set add up to 256 items then delete first 22.792 us/op
OrderedSet add up to 256 items then delete first 31.601 us/op
Set add up to 256 items then delete last 21.948 us/op
OrderedSet add up to 256 items then delete last 29.470 us/op
Set add up to 256 items then delete middle 22.014 us/op
OrderedSet add up to 256 items then delete middle 53.571 us/op
transfer serialized Status (84 B) 1.9480 us/op
copy serialized Status (84 B) 1.4270 us/op
transfer serialized SignedVoluntaryExit (112 B) 2.0180 us/op
copy serialized SignedVoluntaryExit (112 B) 1.4930 us/op
transfer serialized ProposerSlashing (416 B) 2.6220 us/op
copy serialized ProposerSlashing (416 B) 2.4660 us/op
transfer serialized Attestation (485 B) 2.7940 us/op
copy serialized Attestation (485 B) 2.2560 us/op
transfer serialized AttesterSlashing (33232 B) 3.0680 us/op
copy serialized AttesterSlashing (33232 B) 10.712 us/op
transfer serialized Small SignedBeaconBlock (128000 B) 3.8270 us/op
copy serialized Small SignedBeaconBlock (128000 B) 30.494 us/op
transfer serialized Avg SignedBeaconBlock (200000 B) 4.5520 us/op
copy serialized Avg SignedBeaconBlock (200000 B) 44.407 us/op
transfer serialized BlobsSidecar (524380 B) 5.4460 us/op
copy serialized BlobsSidecar (524380 B) 133.93 us/op
transfer serialized Big SignedBeaconBlock (1000000 B) 4.8170 us/op
copy serialized Big SignedBeaconBlock (1000000 B) 199.79 us/op
pass gossip attestations to forkchoice per slot 4.9274 ms/op
forkChoice updateHead vc 100000 bc 64 eq 0 714.02 us/op
forkChoice updateHead vc 600000 bc 64 eq 0 6.4076 ms/op
forkChoice updateHead vc 1000000 bc 64 eq 0 7.5413 ms/op
forkChoice updateHead vc 600000 bc 320 eq 0 4.4823 ms/op
forkChoice updateHead vc 600000 bc 1200 eq 0 4.5448 ms/op
forkChoice updateHead vc 600000 bc 7200 eq 0 5.7491 ms/op
forkChoice updateHead vc 600000 bc 64 eq 1000 11.604 ms/op
forkChoice updateHead vc 600000 bc 64 eq 10000 12.380 ms/op
forkChoice updateHead vc 600000 bc 64 eq 300000 24.123 ms/op
computeDeltas 500000 validators 300 proto nodes 7.1277 ms/op
computeDeltas 500000 validators 1200 proto nodes 6.9629 ms/op
computeDeltas 500000 validators 7200 proto nodes 6.5528 ms/op
computeDeltas 750000 validators 300 proto nodes 9.8556 ms/op
computeDeltas 750000 validators 1200 proto nodes 9.6949 ms/op
computeDeltas 750000 validators 7200 proto nodes 10.149 ms/op
computeDeltas 1400000 validators 300 proto nodes 19.503 ms/op
computeDeltas 1400000 validators 1200 proto nodes 19.336 ms/op
computeDeltas 1400000 validators 7200 proto nodes 18.670 ms/op
computeDeltas 2100000 validators 300 proto nodes 27.940 ms/op
computeDeltas 2100000 validators 1200 proto nodes 28.173 ms/op
computeDeltas 2100000 validators 7200 proto nodes 27.925 ms/op
altair processAttestation - 250000 vs - 7PWei normalcase 3.2333 ms/op
altair processAttestation - 250000 vs - 7PWei worstcase 4.1030 ms/op
altair processAttestation - setStatus - 1/6 committees join 190.47 us/op
altair processAttestation - setStatus - 1/3 committees join 386.74 us/op
altair processAttestation - setStatus - 1/2 committees join 527.28 us/op
altair processAttestation - setStatus - 2/3 committees join 640.75 us/op
altair processAttestation - setStatus - 4/5 committees join 840.84 us/op
altair processAttestation - setStatus - 100% committees join 1.0140 ms/op
altair processBlock - 250000 vs - 7PWei normalcase 12.154 ms/op
altair processBlock - 250000 vs - 7PWei normalcase hashState 37.113 ms/op
altair processBlock - 250000 vs - 7PWei worstcase 41.654 ms/op
altair processBlock - 250000 vs - 7PWei worstcase hashState 102.76 ms/op
phase0 processBlock - 250000 vs - 7PWei normalcase 3.3485 ms/op
phase0 processBlock - 250000 vs - 7PWei worstcase 34.964 ms/op
altair processEth1Data - 250000 vs - 7PWei normalcase 806.46 us/op
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 12.728 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 64.152 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 35.721 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 22.668 us/op
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 216.90 us/op
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.4131 ms/op
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.3037 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.8109 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.8876 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 3.7402 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 9.7490 ms/op
Tree 40 250000 create 891.74 ms/op
Tree 40 250000 get(125000) 304.50 ns/op
Tree 40 250000 set(125000) 2.8552 us/op
Tree 40 250000 toArray() 33.953 ms/op
Tree 40 250000 iterate all - toArray() + loop 33.286 ms/op
Tree 40 250000 iterate all - get(i) 96.996 ms/op
MutableVector 250000 create 18.872 ms/op
MutableVector 250000 get(125000) 8.1740 ns/op
MutableVector 250000 set(125000) 675.60 ns/op
MutableVector 250000 toArray() 5.4374 ms/op
MutableVector 250000 iterate all - toArray() + loop 5.7210 ms/op
MutableVector 250000 iterate all - get(i) 2.0861 ms/op
Array 250000 create 5.0037 ms/op
Array 250000 clone - spread 4.8108 ms/op
Array 250000 get(125000) 2.9860 ns/op
Array 250000 set(125000) 6.0210 ns/op
Array 250000 iterate all - loop 227.97 us/op
effectiveBalanceIncrements clone Uint8Array 300000 81.157 us/op
effectiveBalanceIncrements clone MutableVector 300000 896.00 ns/op
effectiveBalanceIncrements rw all Uint8Array 300000 277.94 us/op
effectiveBalanceIncrements rw all MutableVector 300000 219.31 ms/op
phase0 afterProcessEpoch - 250000 vs - 7PWei 131.92 ms/op
phase0 beforeProcessEpoch - 250000 vs - 7PWei 67.323 ms/op
altair processEpoch - mainnet_e81889 674.11 ms/op
mainnet_e81889 - altair beforeProcessEpoch 108.13 ms/op
mainnet_e81889 - altair processJustificationAndFinalization 25.705 us/op
mainnet_e81889 - altair processInactivityUpdates 8.8929 ms/op
mainnet_e81889 - altair processRewardsAndPenalties 77.174 ms/op
mainnet_e81889 - altair processRegistryUpdates 4.7880 us/op
mainnet_e81889 - altair processSlashings 948.00 ns/op
mainnet_e81889 - altair processEth1DataReset 1.3270 us/op
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.5750 ms/op
mainnet_e81889 - altair processSlashingsReset 7.3740 us/op
mainnet_e81889 - altair processRandaoMixesReset 9.1710 us/op
mainnet_e81889 - altair processHistoricalRootsUpdate 1.3900 us/op
mainnet_e81889 - altair processParticipationFlagUpdates 4.0350 us/op
mainnet_e81889 - altair processSyncCommitteeUpdates 1.2350 us/op
mainnet_e81889 - altair afterProcessEpoch 144.14 ms/op
capella processEpoch - mainnet_e217614 1.9974 s/op
mainnet_e217614 - capella beforeProcessEpoch 533.82 ms/op
mainnet_e217614 - capella processJustificationAndFinalization 23.147 us/op
mainnet_e217614 - capella processInactivityUpdates 18.920 ms/op
mainnet_e217614 - capella processRewardsAndPenalties 383.19 ms/op
mainnet_e217614 - capella processRegistryUpdates 30.055 us/op
mainnet_e217614 - capella processSlashings 1.7490 us/op
mainnet_e217614 - capella processEth1DataReset 729.00 ns/op
mainnet_e217614 - capella processEffectiveBalanceUpdates 7.7129 ms/op
mainnet_e217614 - capella processSlashingsReset 5.3580 us/op
mainnet_e217614 - capella processRandaoMixesReset 6.9110 us/op
mainnet_e217614 - capella processHistoricalRootsUpdate 997.00 ns/op
mainnet_e217614 - capella processParticipationFlagUpdates 2.9840 us/op
mainnet_e217614 - capella afterProcessEpoch 372.32 ms/op
phase0 processEpoch - mainnet_e58758 621.69 ms/op
mainnet_e58758 - phase0 beforeProcessEpoch 187.37 ms/op
mainnet_e58758 - phase0 processJustificationAndFinalization 21.965 us/op
mainnet_e58758 - phase0 processRewardsAndPenalties 72.197 ms/op
mainnet_e58758 - phase0 processRegistryUpdates 16.805 us/op
mainnet_e58758 - phase0 processSlashings 1.0940 us/op
mainnet_e58758 - phase0 processEth1DataReset 1.1020 us/op
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.9800 ms/op
mainnet_e58758 - phase0 processSlashingsReset 7.8020 us/op
mainnet_e58758 - phase0 processRandaoMixesReset 10.305 us/op
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.4290 us/op
mainnet_e58758 - phase0 processParticipationRecordUpdates 9.8830 us/op
mainnet_e58758 - phase0 afterProcessEpoch 118.69 ms/op
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.6054 ms/op
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.8586 ms/op
altair processInactivityUpdates - 250000 normalcase 42.715 ms/op
altair processInactivityUpdates - 250000 worstcase 39.635 ms/op
phase0 processRegistryUpdates - 250000 normalcase 20.822 us/op
phase0 processRegistryUpdates - 250000 badcase_full_deposits 654.00 us/op
phase0 processRegistryUpdates - 250000 worstcase 0.5 224.88 ms/op
altair processRewardsAndPenalties - 250000 normalcase 81.003 ms/op
altair processRewardsAndPenalties - 250000 worstcase 76.049 ms/op
phase0 getAttestationDeltas - 250000 normalcase 16.102 ms/op
phase0 getAttestationDeltas - 250000 worstcase 17.123 ms/op
phase0 processSlashings - 250000 worstcase 153.80 us/op
altair processSyncCommitteeUpdates - 250000 189.67 ms/op
BeaconState.hashTreeRoot - No change 1.0300 us/op
BeaconState.hashTreeRoot - 1 full validator 184.98 us/op
BeaconState.hashTreeRoot - 32 full validator 1.8866 ms/op
BeaconState.hashTreeRoot - 512 full validator 25.268 ms/op
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 266.62 us/op
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 3.2780 ms/op
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 36.561 ms/op
BeaconState.hashTreeRoot - 1 balances 152.12 us/op
BeaconState.hashTreeRoot - 32 balances 1.3862 ms/op
BeaconState.hashTreeRoot - 512 balances 14.800 ms/op
BeaconState.hashTreeRoot - 250000 balances 232.46 ms/op
aggregationBits - 2048 els - zipIndexesInBitList 44.927 us/op
byteArrayEquals 32 78.811 ns/op
Buffer.compare 32 82.406 ns/op
byteArrayEquals 1024 2.1811 us/op
Buffer.compare 1024 95.740 ns/op
byteArrayEquals 16384 36.937 us/op
Buffer.compare 16384 295.88 ns/op
byteArrayEquals 123687377 260.97 ms/op
Buffer.compare 123687377 9.0434 ms/op
byteArrayEquals 32 - diff last byte 80.123 ns/op
Buffer.compare 32 - diff last byte 84.050 ns/op
byteArrayEquals 1024 - diff last byte 2.1716 us/op
Buffer.compare 1024 - diff last byte 98.512 ns/op
byteArrayEquals 16384 - diff last byte 35.279 us/op
Buffer.compare 16384 - diff last byte 328.68 ns/op
byteArrayEquals 123687377 - diff last byte 265.23 ms/op
Buffer.compare 123687377 - diff last byte 10.088 ms/op
byteArrayEquals 32 - random bytes 7.9020 ns/op
Buffer.compare 32 - random bytes 100.05 ns/op
byteArrayEquals 1024 - random bytes 7.2350 ns/op
Buffer.compare 1024 - random bytes 86.386 ns/op
byteArrayEquals 16384 - random bytes 6.2330 ns/op
Buffer.compare 16384 - random bytes 84.608 ns/op
byteArrayEquals 123687377 - random bytes 10.130 ns/op
Buffer.compare 123687377 - random bytes 102.90 ns/op
regular array get 100000 times 49.264 us/op
wrappedArray get 100000 times 49.094 us/op
arrayWithProxy get 100000 times 14.931 ms/op
ssz.Root.equals 57.727 ns/op
byteArrayEquals 58.120 ns/op
Buffer.compare 13.022 ns/op
shuffle list - 16384 els 9.9507 ms/op
shuffle list - 250000 els 145.19 ms/op
processSlot - 1 slots 20.417 us/op
processSlot - 32 slots 3.4265 ms/op
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 64.612 ms/op
getCommitteeAssignments - req 1 vs - 250000 vc 3.0195 ms/op
getCommitteeAssignments - req 100 vs - 250000 vc 4.1772 ms/op
getCommitteeAssignments - req 1000 vs - 250000 vc 4.6784 ms/op
findModifiedValidators - 10000 modified validators 643.88 ms/op
findModifiedValidators - 1000 modified validators 487.44 ms/op
findModifiedValidators - 100 modified validators 443.84 ms/op
findModifiedValidators - 10 modified validators 474.62 ms/op
findModifiedValidators - 1 modified validators 428.00 ms/op
findModifiedValidators - no difference 486.85 ms/op
compare ViewDUs 4.7836 s/op
compare each validator Uint8Array 1.7755 s/op
compare ViewDU to Uint8Array 1.4907 s/op
migrate state 1000000 validators, 24 modified, 0 new 851.94 ms/op
migrate state 1000000 validators, 1700 modified, 1000 new 1.2261 s/op
migrate state 1000000 validators, 3400 modified, 2000 new 1.4300 s/op
migrate state 1500000 validators, 24 modified, 0 new 1.0942 s/op
migrate state 1500000 validators, 1700 modified, 1000 new 1.3223 s/op
migrate state 1500000 validators, 3400 modified, 2000 new 1.5901 s/op
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.0900 ns/op
state getBlockRootAtSlot - 250000 vs - 7PWei 605.77 ns/op
computeProposers - vc 250000 10.460 ms/op
computeEpochShuffling - vc 250000 129.42 ms/op
getNextSyncCommittee - vc 250000 174.85 ms/op
computeSigningRoot for AttestationData 29.655 us/op
hash AttestationData serialized data then Buffer.toString(base64) 2.4332 us/op
toHexString serialized data 1.1168 us/op
Buffer.toString(base64) 269.97 ns/op

by benchmarkbot/action

@philknows philknows marked this pull request as ready for review March 11, 2024 14:38
@philknows philknows requested a review from a team as a code owner March 11, 2024 14:38
Copy link

codecov bot commented Mar 11, 2024

Codecov Report

Merging #6523 (88b2564) into stable (14ea654) will decrease coverage by 0.12%.
The diff coverage is 52.91%.

Additional details and impacted files
@@            Coverage Diff             @@
##           stable    #6523      +/-   ##
==========================================
- 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     

@philknows philknows merged commit def26ac into stable Mar 11, 2024
27 checks passed
@philknows philknows deleted the rc/v1.17.0 branch March 11, 2024 15:24
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.17.0 🎉

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