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: v1.16.0 #6460

Merged
merged 73 commits into from Feb 22, 2024
Merged

chore: v1.16.0 #6460

merged 73 commits into from Feb 22, 2024

Conversation

wemeetagain
Copy link
Member

No description provided.

jeluard and others added 30 commits January 25, 2024 11:00
* chore: align yarn test scripts

* fix: handle prover stratup failure

* fix: lint

* chore: improve test guide

* chore: introduce top level download-spec-tests script

* chore: remove pretest scripts
… file (#6357)

* feat: allow builder boost factor to be configured via proposer config file

* reuse parseBuilderBoostFactor fn

* re-shuffle fns and add builder selection validation
)

* fix: ignore forkchoice invalidations if latestValidHash not found

* rename for better understanding

* update the lvh search start index

* apply feedback
* feat: blob sidecars can be filtered by indices

* fix: properly filter blobs

* fix: type indices as number

* chore: remove use of set

* fix: make stringify more robust

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

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

* fix: cleanup

* fix: remove useless types

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* fix: ignore stale keystore lockfiles

* Update error message if lockfile is already acquired

* Update keymanager lockfile e2e tests
fix: stabalize unknown block sync e2e test
* fix: reflect vitest migration

* fix:  incorrect spec example folder

* chore: added filter examples

---------

Co-authored-by: Cayman <caymannava@gmail.com>
* feat: ignore NotFound error for setting agentVersion

* fix: debug log instead of ignore peer not found for setting agentVersion

* fix: remove NotFound check and only debug log error setting agentVersion

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

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
Update holesky.ts to include Lodestar bootnode
* chore: enhance perf tests for getAttestationsForBlock

* refactor: group attestations, cache forkchoice validation

* fix: return only not seen indices for notSeenValidatorFn

* fix: lint

* chore: bring back finalizedSync.test.ts
* fix: remove unsupported syntax

* fix: handle undefined process

* chore: remove uneeded type
* Update the promise race implementation

* Update block production race

* Fix spelling

* Work on feedback

* Update the test file name

* Update the promise tests

* Update util to switch

* chore: add early return on censoring builder or 0 builder boost

* Update the promise to extended promise

* Update the builder flow

* Fix the types

* Fix lint errors

* Simplify logging

* Improve log messages for block values

* Update the promise to be typesafe

* Update the validator implementation

* Restructure test file for better review

* Fix lint errors

* Fix lint error

* Make the tyep more flexible

* Fix flaky tests

* Improve log message

* Simplify implementation

* Update log message function

* chore: add review feedback

* chore: fix linter error

* chore: address PR comments

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

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

* chore: address PR comments

* chore: clean up selectBlockProductionSource

* Fix unit tests

* Add support for routes.validator.BuilderSelection.ExecutionOnly

* Fix unit tests

* Increase the timeout for e2e env

* Apply suggestions from code review

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

* Increase the timeout for e2e env

* Revert e2e timeout

---------

Co-authored-by: Cayman <caymannava@gmail.com>
Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* Disable /ipfs/id/push/1.0.0

* Fix the peer disconnect errors

* Align genesis time for logging

* Fix genesis state issue

* Increase timeotu for keystore unit test

* Remove unintended protocol

* Fix the test timeout

* Update stopChildProcess

* Update the @chainsafe/libp2p-identify

* Compute effective genesis delay

* Update workflow file to make it consistent

* Increase the genesis delay calculation
* Improve the sim tests logs

* Update packages/utils/src/format.ts

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* Fix clock flaky tests

* Fix api server flaky tests

* Auto assign port for testing server

* Update fake timer
* feat: add ERC-55 support to ExecutionAddress

* chore: address PR comments

* chore: address PR comments

* fix: cleanup

* fix: lower case

* chore: address PR comments
nazarhussain and others added 22 commits February 15, 2024 12:07
* Add logs support for file dump

* Add logger to runner

* Add feature to dump raw data for debugging

* Add dump support to few assertions

* Update log level for errors

* Fix head assertion csv data

* Revert "Fix head assertion csv data"

This reverts commit 91abfc2.

* Fix head assertion csv data
* Log gossip block errors as warnings

* Only log to debug if blobs are unavailable

* Always prune cache and track error in metrics

* Adapt log level (verbosity) based on error

* Do not initialize log level to ensure each case is handled explicitly

* Update comments

* Update comment
…6428)

* feat: make start command default for prover CLI
* Fix a work around for range sync

* Update packages/cli/test/sim/multi_fork.test.ts

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

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* Reuse build actions

* Split sim tests to multiple jobs

* Improve sim test build time with cache

* Lint edited files

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* chore: fix prover README typos

* chore: fix typos

* chore: address comments

* chore: restore beaconBootnodes description
* feat: allow blob archival for bigger time periods

* fix spellcheck and spellings

* change cli flag and desc
* Remove unused eslint disable directives

* Update yarn lint to report unused eslint disable directives
* feat: add retry functionality in the api for builder publish

* update retry delay

* retry logic when retires mentioned
* feat: minutely track timings of various stages of block import

* remove recvToValLatency metrics
…#6453)

* feat: add cli flag to ignore the wss check failure on checkpoint sync

* minor fixes
Copy link

codecov bot commented Feb 20, 2024

Codecov Report

Merging #6460 (fda3b19) into stable (1857a49) will increase coverage by 1.49%.
The diff coverage is 58.23%.

Additional details and impacted files
@@            Coverage Diff             @@
##           stable    #6460      +/-   ##
==========================================
+ Coverage   60.13%   61.63%   +1.49%     
==========================================
  Files         407      553     +146     
  Lines       46460    57992   +11532     
  Branches     1536     1836     +300     
==========================================
+ Hits        27941    35743    +7802     
- Misses      18489    22211    +3722     
- Partials       30       38       +8     

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: df226da Previous: - Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 907.64 us/op
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 152.90 us/op
BLS verify - blst-native 1.5814 ms/op
BLS verifyMultipleSignatures 3 - blst-native 3.3024 ms/op
BLS verifyMultipleSignatures 8 - blst-native 7.3577 ms/op
BLS verifyMultipleSignatures 32 - blst-native 28.347 ms/op
BLS verifyMultipleSignatures 64 - blst-native 52.645 ms/op
BLS verifyMultipleSignatures 128 - blst-native 107.24 ms/op
BLS deserializing 10000 signatures 1.1211 s/op
BLS deserializing 100000 signatures 10.619 s/op
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.5126 ms/op
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.7502 ms/op
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.9026 ms/op
BLS verifyMultipleSignatures - same message - 64 - blst-native 4.2358 ms/op
BLS verifyMultipleSignatures - same message - 128 - blst-native 6.9092 ms/op
BLS aggregatePubkeys 32 - blst-native 32.800 us/op
BLS aggregatePubkeys 128 - blst-native 114.15 us/op
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 77.796 ms/op
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 72.337 ms/op
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 55.347 ms/op
getSlashingsAndExits - default max 319.87 us/op
getSlashingsAndExits - 2k 518.33 us/op
proposeBlockBody type=full, size=empty 7.3984 ms/op
isKnown best case - 1 super set check 425.00 ns/op
isKnown normal case - 2 super set checks 602.00 ns/op
isKnown worse case - 16 super set checks 598.00 ns/op
CheckpointStateCache - add get delete 6.8930 us/op
validate api signedAggregateAndProof - struct 3.3776 ms/op
validate gossip signedAggregateAndProof - struct 3.3755 ms/op
validate gossip attestation - vc 640000 1.5514 ms/op
batch validate gossip attestation - vc 640000 - chunk 32 185.32 us/op
batch validate gossip attestation - vc 640000 - chunk 64 168.79 us/op
batch validate gossip attestation - vc 640000 - chunk 128 166.02 us/op
batch validate gossip attestation - vc 640000 - chunk 256 157.67 us/op
pickEth1Vote - no votes 1.5187 ms/op
pickEth1Vote - max votes 15.077 ms/op
pickEth1Vote - Eth1Data hashTreeRoot value x2048 25.247 ms/op
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 34.494 ms/op
pickEth1Vote - Eth1Data fastSerialize value x2048 846.06 us/op
pickEth1Vote - Eth1Data fastSerialize tree x2048 9.7688 ms/op
bytes32 toHexString 856.00 ns/op
bytes32 Buffer.toString(hex) 339.00 ns/op
bytes32 Buffer.toString(hex) from Uint8Array 581.00 ns/op
bytes32 Buffer.toString(hex) + 0x 342.00 ns/op
Object access 1 prop 0.24900 ns/op
Map access 1 prop 0.18100 ns/op
Object get x1000 8.6120 ns/op
Map get x1000 1.0410 ns/op
Object set x1000 83.165 ns/op
Map set x1000 61.644 ns/op
Return object 10000 times 0.28480 ns/op
Throw Error 10000 times 4.4498 us/op
fastMsgIdFn sha256 / 200 bytes 4.0200 us/op
fastMsgIdFn h32 xxhash / 200 bytes 416.00 ns/op
fastMsgIdFn h64 xxhash / 200 bytes 466.00 ns/op
fastMsgIdFn sha256 / 1000 bytes 13.015 us/op
fastMsgIdFn h32 xxhash / 1000 bytes 524.00 ns/op
fastMsgIdFn h64 xxhash / 1000 bytes 497.00 ns/op
fastMsgIdFn sha256 / 10000 bytes 110.62 us/op
fastMsgIdFn h32 xxhash / 10000 bytes 2.1190 us/op
fastMsgIdFn h64 xxhash / 10000 bytes 1.5680 us/op
send data - 1000 256B messages 21.928 ms/op
send data - 1000 512B messages 34.627 ms/op
send data - 1000 1024B messages 43.576 ms/op
send data - 1000 1200B messages 58.072 ms/op
send data - 1000 2048B messages 67.204 ms/op
send data - 1000 4096B messages 58.346 ms/op
send data - 1000 16384B messages 164.82 ms/op
send data - 1000 65536B messages 649.27 ms/op
enrSubnets - fastDeserialize 64 bits 1.7590 us/op
enrSubnets - ssz BitVector 64 bits 628.00 ns/op
enrSubnets - fastDeserialize 4 bits 261.00 ns/op
enrSubnets - ssz BitVector 4 bits 578.00 ns/op
prioritizePeers score -10:0 att 32-0.1 sync 2-0 146.02 us/op
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 164.21 us/op
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 224.96 us/op
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 420.29 us/op
prioritizePeers score 0:0 att 64-1 sync 4-1 426.69 us/op
array of 16000 items push then shift 1.9212 us/op
LinkedList of 16000 items push then shift 11.859 ns/op
array of 16000 items push then pop 125.64 ns/op
LinkedList of 16000 items push then pop 10.792 ns/op
array of 24000 items push then shift 2.6815 us/op
LinkedList of 24000 items push then shift 10.974 ns/op
array of 24000 items push then pop 204.13 ns/op
LinkedList of 24000 items push then pop 10.915 ns/op
intersect bitArray bitLen 8 6.9980 ns/op
intersect array and set length 8 103.48 ns/op
intersect bitArray bitLen 128 40.314 ns/op
intersect array and set length 128 1.2435 us/op
bitArray.getTrueBitIndexes() bitLen 128 2.0120 us/op
bitArray.getTrueBitIndexes() bitLen 248 3.8370 us/op
bitArray.getTrueBitIndexes() bitLen 512 7.3090 us/op
Buffer.concat 32 items 1.2470 us/op
Uint8Array.set 32 items 2.9060 us/op
Set add up to 64 items then delete first 5.9207 us/op
OrderedSet add up to 64 items then delete first 7.6069 us/op
Set add up to 64 items then delete last 6.1314 us/op
OrderedSet add up to 64 items then delete last 7.7825 us/op
Set add up to 64 items then delete middle 5.8892 us/op
OrderedSet add up to 64 items then delete middle 9.0349 us/op
Set add up to 128 items then delete first 13.184 us/op
OrderedSet add up to 128 items then delete first 17.125 us/op
Set add up to 128 items then delete last 12.480 us/op
OrderedSet add up to 128 items then delete last 16.239 us/op
Set add up to 128 items then delete middle 12.947 us/op
OrderedSet add up to 128 items then delete middle 22.142 us/op
Set add up to 256 items then delete first 25.487 us/op
OrderedSet add up to 256 items then delete first 35.635 us/op
Set add up to 256 items then delete last 25.949 us/op
OrderedSet add up to 256 items then delete last 34.717 us/op
Set add up to 256 items then delete middle 25.612 us/op
OrderedSet add up to 256 items then delete middle 67.488 us/op
transfer serialized Status (84 B) 2.4640 us/op
copy serialized Status (84 B) 1.8350 us/op
transfer serialized SignedVoluntaryExit (112 B) 2.2230 us/op
copy serialized SignedVoluntaryExit (112 B) 1.5940 us/op
transfer serialized ProposerSlashing (416 B) 2.6140 us/op
copy serialized ProposerSlashing (416 B) 3.3470 us/op
transfer serialized Attestation (485 B) 3.2360 us/op
copy serialized Attestation (485 B) 3.4280 us/op
transfer serialized AttesterSlashing (33232 B) 3.6080 us/op
copy serialized AttesterSlashing (33232 B) 10.545 us/op
transfer serialized Small SignedBeaconBlock (128000 B) 4.0060 us/op
copy serialized Small SignedBeaconBlock (128000 B) 32.084 us/op
transfer serialized Avg SignedBeaconBlock (200000 B) 4.9020 us/op
copy serialized Avg SignedBeaconBlock (200000 B) 49.614 us/op
transfer serialized BlobsSidecar (524380 B) 4.8310 us/op
copy serialized BlobsSidecar (524380 B) 155.16 us/op
transfer serialized Big SignedBeaconBlock (1000000 B) 5.9570 us/op
copy serialized Big SignedBeaconBlock (1000000 B) 316.84 us/op
pass gossip attestations to forkchoice per slot 4.7702 ms/op
forkChoice updateHead vc 100000 bc 64 eq 0 782.88 us/op
forkChoice updateHead vc 600000 bc 64 eq 0 10.033 ms/op
forkChoice updateHead vc 1000000 bc 64 eq 0 9.1258 ms/op
forkChoice updateHead vc 600000 bc 320 eq 0 5.7009 ms/op
forkChoice updateHead vc 600000 bc 1200 eq 0 5.9250 ms/op
forkChoice updateHead vc 600000 bc 7200 eq 0 7.1820 ms/op
forkChoice updateHead vc 600000 bc 64 eq 1000 13.175 ms/op
forkChoice updateHead vc 600000 bc 64 eq 10000 13.463 ms/op
forkChoice updateHead vc 600000 bc 64 eq 300000 29.386 ms/op
computeDeltas 500000 validators 300 proto nodes 8.0540 ms/op
computeDeltas 500000 validators 1200 proto nodes 7.7721 ms/op
computeDeltas 500000 validators 7200 proto nodes 7.4112 ms/op
computeDeltas 750000 validators 300 proto nodes 11.030 ms/op
computeDeltas 750000 validators 1200 proto nodes 10.956 ms/op
computeDeltas 750000 validators 7200 proto nodes 11.462 ms/op
computeDeltas 1400000 validators 300 proto nodes 22.052 ms/op
computeDeltas 1400000 validators 1200 proto nodes 21.740 ms/op
computeDeltas 1400000 validators 7200 proto nodes 22.538 ms/op
computeDeltas 2100000 validators 300 proto nodes 35.368 ms/op
computeDeltas 2100000 validators 1200 proto nodes 36.601 ms/op
computeDeltas 2100000 validators 7200 proto nodes 37.286 ms/op
altair processAttestation - 250000 vs - 7PWei normalcase 4.4214 ms/op
altair processAttestation - 250000 vs - 7PWei worstcase 6.7620 ms/op
altair processAttestation - setStatus - 1/6 committees join 224.78 us/op
altair processAttestation - setStatus - 1/3 committees join 528.89 us/op
altair processAttestation - setStatus - 1/2 committees join 729.16 us/op
altair processAttestation - setStatus - 2/3 committees join 933.21 us/op
altair processAttestation - setStatus - 4/5 committees join 1.1539 ms/op
altair processAttestation - setStatus - 100% committees join 1.2906 ms/op
altair processBlock - 250000 vs - 7PWei normalcase 12.793 ms/op
altair processBlock - 250000 vs - 7PWei normalcase hashState 49.221 ms/op
altair processBlock - 250000 vs - 7PWei worstcase 47.491 ms/op
altair processBlock - 250000 vs - 7PWei worstcase hashState 127.94 ms/op
phase0 processBlock - 250000 vs - 7PWei normalcase 3.8468 ms/op
phase0 processBlock - 250000 vs - 7PWei worstcase 40.583 ms/op
altair processEth1Data - 250000 vs - 7PWei normalcase 931.17 us/op
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 28.785 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 105.94 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 44.364 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 23.757 us/op
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 238.60 us/op
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.8888 ms/op
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.7068 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.2347 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 5.6725 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 3.4650 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 8.3916 ms/op
Tree 40 250000 create 927.51 ms/op
Tree 40 250000 get(125000) 259.42 ns/op
Tree 40 250000 set(125000) 3.3677 us/op
Tree 40 250000 toArray() 32.921 ms/op
Tree 40 250000 iterate all - toArray() + loop 34.038 ms/op
Tree 40 250000 iterate all - get(i) 104.22 ms/op
MutableVector 250000 create 27.397 ms/op
MutableVector 250000 get(125000) 9.2170 ns/op
MutableVector 250000 set(125000) 726.12 ns/op
MutableVector 250000 toArray() 5.8160 ms/op
MutableVector 250000 iterate all - toArray() + loop 6.3161 ms/op
MutableVector 250000 iterate all - get(i) 1.9369 ms/op
Array 250000 create 5.0935 ms/op
Array 250000 clone - spread 2.2524 ms/op
Array 250000 get(125000) 2.6170 ns/op
Array 250000 set(125000) 6.9060 ns/op
Array 250000 iterate all - loop 227.43 us/op
effectiveBalanceIncrements clone Uint8Array 300000 67.705 us/op
effectiveBalanceIncrements clone MutableVector 300000 531.00 ns/op
effectiveBalanceIncrements rw all Uint8Array 300000 268.82 us/op
effectiveBalanceIncrements rw all MutableVector 300000 197.34 ms/op
phase0 afterProcessEpoch - 250000 vs - 7PWei 141.11 ms/op
phase0 beforeProcessEpoch - 250000 vs - 7PWei 74.886 ms/op
altair processEpoch - mainnet_e81889 716.26 ms/op
mainnet_e81889 - altair beforeProcessEpoch 130.65 ms/op
mainnet_e81889 - altair processJustificationAndFinalization 37.078 us/op
mainnet_e81889 - altair processInactivityUpdates 8.3847 ms/op
mainnet_e81889 - altair processRewardsAndPenalties 81.878 ms/op
mainnet_e81889 - altair processRegistryUpdates 5.7050 us/op
mainnet_e81889 - altair processSlashings 847.00 ns/op
mainnet_e81889 - altair processEth1DataReset 1.3020 us/op
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.7690 ms/op
mainnet_e81889 - altair processSlashingsReset 7.8110 us/op
mainnet_e81889 - altair processRandaoMixesReset 9.2820 us/op
mainnet_e81889 - altair processHistoricalRootsUpdate 1.4080 us/op
mainnet_e81889 - altair processParticipationFlagUpdates 4.0900 us/op
mainnet_e81889 - altair processSyncCommitteeUpdates 1.6620 us/op
mainnet_e81889 - altair afterProcessEpoch 140.54 ms/op
capella processEpoch - mainnet_e217614 3.1284 s/op
mainnet_e217614 - capella beforeProcessEpoch 623.67 ms/op
mainnet_e217614 - capella processJustificationAndFinalization 23.190 us/op
mainnet_e217614 - capella processInactivityUpdates 32.624 ms/op
mainnet_e217614 - capella processRewardsAndPenalties 599.23 ms/op
mainnet_e217614 - capella processRegistryUpdates 43.062 us/op
mainnet_e217614 - capella processSlashings 1.4250 us/op
mainnet_e217614 - capella processEth1DataReset 1.1090 us/op
mainnet_e217614 - capella processEffectiveBalanceUpdates 7.7845 ms/op
mainnet_e217614 - capella processSlashingsReset 9.7930 us/op
mainnet_e217614 - capella processRandaoMixesReset 15.015 us/op
mainnet_e217614 - capella processHistoricalRootsUpdate 1.5490 us/op
mainnet_e217614 - capella processParticipationFlagUpdates 7.5050 us/op
mainnet_e217614 - capella afterProcessEpoch 459.34 ms/op
phase0 processEpoch - mainnet_e58758 743.49 ms/op
mainnet_e58758 - phase0 beforeProcessEpoch 251.47 ms/op
mainnet_e58758 - phase0 processJustificationAndFinalization 41.108 us/op
mainnet_e58758 - phase0 processRewardsAndPenalties 93.505 ms/op
mainnet_e58758 - phase0 processRegistryUpdates 27.360 us/op
mainnet_e58758 - phase0 processSlashings 1.7710 us/op
mainnet_e58758 - phase0 processEth1DataReset 1.4940 us/op
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.1613 ms/op
mainnet_e58758 - phase0 processSlashingsReset 9.6940 us/op
mainnet_e58758 - phase0 processRandaoMixesReset 12.785 us/op
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.6950 us/op
mainnet_e58758 - phase0 processParticipationRecordUpdates 13.177 us/op
mainnet_e58758 - phase0 afterProcessEpoch 128.17 ms/op
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.6620 ms/op
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.9752 ms/op
altair processInactivityUpdates - 250000 normalcase 50.973 ms/op
altair processInactivityUpdates - 250000 worstcase 52.023 ms/op
phase0 processRegistryUpdates - 250000 normalcase 29.036 us/op
phase0 processRegistryUpdates - 250000 badcase_full_deposits 874.63 us/op
phase0 processRegistryUpdates - 250000 worstcase 0.5 217.71 ms/op
altair processRewardsAndPenalties - 250000 normalcase 98.293 ms/op
altair processRewardsAndPenalties - 250000 worstcase 64.673 ms/op
phase0 getAttestationDeltas - 250000 normalcase 16.138 ms/op
phase0 getAttestationDeltas - 250000 worstcase 16.835 ms/op
phase0 processSlashings - 250000 worstcase 105.23 us/op
altair processSyncCommitteeUpdates - 250000 201.38 ms/op
BeaconState.hashTreeRoot - No change 1.1270 us/op
BeaconState.hashTreeRoot - 1 full validator 220.75 us/op
BeaconState.hashTreeRoot - 32 full validator 2.0953 ms/op
BeaconState.hashTreeRoot - 512 full validator 24.335 ms/op
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 250.85 us/op
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 3.1143 ms/op
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 40.744 ms/op
BeaconState.hashTreeRoot - 1 balances 199.77 us/op
BeaconState.hashTreeRoot - 32 balances 1.7471 ms/op
BeaconState.hashTreeRoot - 512 balances 19.155 ms/op
BeaconState.hashTreeRoot - 250000 balances 341.51 ms/op
aggregationBits - 2048 els - zipIndexesInBitList 42.244 us/op
byteArrayEquals 32 93.128 ns/op
Buffer.compare 32 68.692 ns/op
byteArrayEquals 1024 2.5842 us/op
Buffer.compare 1024 88.487 ns/op
byteArrayEquals 16384 39.627 us/op
Buffer.compare 16384 331.60 ns/op
byteArrayEquals 123687377 314.93 ms/op
Buffer.compare 123687377 12.561 ms/op
byteArrayEquals 32 - diff last byte 81.350 ns/op
Buffer.compare 32 - diff last byte 64.505 ns/op
byteArrayEquals 1024 - diff last byte 2.3588 us/op
Buffer.compare 1024 - diff last byte 80.796 ns/op
byteArrayEquals 16384 - diff last byte 35.564 us/op
Buffer.compare 16384 - diff last byte 334.49 ns/op
byteArrayEquals 123687377 - diff last byte 263.96 ms/op
Buffer.compare 123687377 - diff last byte 8.4764 ms/op
byteArrayEquals 32 - random bytes 6.4730 ns/op
Buffer.compare 32 - random bytes 67.248 ns/op
byteArrayEquals 1024 - random bytes 6.5100 ns/op
Buffer.compare 1024 - random bytes 68.852 ns/op
byteArrayEquals 16384 - random bytes 6.8120 ns/op
Buffer.compare 16384 - random bytes 68.835 ns/op
byteArrayEquals 123687377 - random bytes 10.580 ns/op
Buffer.compare 123687377 - random bytes 78.110 ns/op
regular array get 100000 times 51.635 us/op
wrappedArray get 100000 times 52.631 us/op
arrayWithProxy get 100000 times 16.685 ms/op
ssz.Root.equals 61.822 ns/op
byteArrayEquals 62.060 ns/op
Buffer.compare 13.536 ns/op
shuffle list - 16384 els 8.0104 ms/op
shuffle list - 250000 els 119.59 ms/op
processSlot - 1 slots 21.514 us/op
processSlot - 32 slots 4.3186 ms/op
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 64.664 ms/op
getCommitteeAssignments - req 1 vs - 250000 vc 2.6098 ms/op
getCommitteeAssignments - req 100 vs - 250000 vc 3.8359 ms/op
getCommitteeAssignments - req 1000 vs - 250000 vc 4.2035 ms/op
findModifiedValidators - 10000 modified validators 574.77 ms/op
findModifiedValidators - 1000 modified validators 448.95 ms/op
findModifiedValidators - 100 modified validators 411.31 ms/op
findModifiedValidators - 10 modified validators 436.60 ms/op
findModifiedValidators - 1 modified validators 426.08 ms/op
findModifiedValidators - no difference 422.45 ms/op
compare ViewDUs 4.5859 s/op
compare each validator Uint8Array 1.9778 s/op
compare ViewDU to Uint8Array 1.2961 s/op
migrate state 1000000 validators, 24 modified, 0 new 801.32 ms/op
migrate state 1000000 validators, 1700 modified, 1000 new 1.1308 s/op
migrate state 1000000 validators, 3400 modified, 2000 new 1.5830 s/op
migrate state 1500000 validators, 24 modified, 0 new 894.63 ms/op
migrate state 1500000 validators, 1700 modified, 1000 new 1.2692 s/op
migrate state 1500000 validators, 3400 modified, 2000 new 1.3640 s/op
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.9600 ns/op
state getBlockRootAtSlot - 250000 vs - 7PWei 620.46 ns/op
computeProposers - vc 250000 10.436 ms/op
computeEpochShuffling - vc 250000 112.50 ms/op
getNextSyncCommittee - vc 250000 171.45 ms/op
computeSigningRoot for AttestationData 30.779 us/op
hash AttestationData serialized data then Buffer.toString(base64) 2.8145 us/op
toHexString serialized data 1.7011 us/op
Buffer.toString(base64) 304.72 ns/op

by benchmarkbot/action

@philknows philknows marked this pull request as ready for review February 22, 2024 13:22
@philknows philknows requested a review from a team as a code owner February 22, 2024 13:22
@philknows philknows merged commit 14ea654 into stable Feb 22, 2024
24 of 27 checks passed
@philknows philknows deleted the rc/v1.16.0 branch February 22, 2024 13:25
@wemeetagain
Copy link
Member Author

🎉 This PR is included in v1.16.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

10 participants