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.21.0 release #6988

Closed
wants to merge 38 commits into from
Closed

chore: v1.21.0 release #6988

wants to merge 38 commits into from

Conversation

philknows
Copy link
Member

@philknows philknows commented Jul 30, 2024

Motivation

v1.21.0 release at 2f9275e

Cherrypicked: 3fb7f60 for rc.1

Added: 76a32dd for rc.2

Cherrypicked: be03ef1 for rc.2

nflaig and others added 30 commits July 9, 2024 22:31
* chore: optimize getSlotFromOffset

* chore: add perf test
Update README.md

Corrected the lightclient prover url
* fix: add workaround to fix compatibility with go-eth2-client

* Skip more endpoints

* Move comments around

* Fix assertion
* fix: update user-agent check for go-eth2-client

* Remove confusing comment
* chore: separate epoch transition cache flags

* chore: refactor active epoch indices

* chore: use number[] for flags

* chore: fully decompose AttesterStatus

* chore: fix lint

* chore: reuse epoch transition cache arrays

* chore: add isActivePrevEpoch to metrics

* chore: remove dead code

* chore: refactor

* chore: fix up perf tests

* chore: add functions back
* fix sepolia genesis delay

* Update packages/config/src/chainConfig/networks/sepolia.ts

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* Add disable flag

* Add util function to check lightclient server

* Add reqresp checks

* Add api checks

* Fix beacon-node usage of lightclient server

* Fix types

* Fix the code with feedback

* Disable gossipsub topic for lightclient

* Fix the types

* Update the type checks

* Clean reassingment

* Update code
* chore: pin nodejs version to 22.4

* More pinning
* chore: refactor block and state api utils

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

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

* Update packages/beacon-node/src/api/impl/beacon/state/utils.ts

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

* chore: address pr comments

* chore: tiny cleanup

* Use more informative return types

* Align block and state utils

* Let server handler deserialize state bytes

---------

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

* fix: return finalized as false if called with genesis slot or epoch

* Update genesis epoch / slot checks
feat: add yamux support
* chore: bump blst-ts version

* chore: delete personal script
* Add additional instructions for hotfix

* fix merge conflict title

Co-authored-by: Cayman <caymannava@gmail.com>

* resolving conflicts

Co-authored-by: Cayman <caymannava@gmail.com>

* minor fixes addressed

* address comments

* spelling fix

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

---------

Co-authored-by: Cayman <caymannava@gmail.com>
Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* feat: add historical state regen

* chore: wire up metrics

* chore: make historical state regen module optional

* chore: persist pubkey cache across historical state regen runs

* chore: cleanup worker termination

* chore: fix worker usage

* fix: swap Level for ClassicLevel for multithreading

* fix: getStateV2 state handling hack

* chore: update classic-level

* chore: fix build errors

* chore: add comments

* chore: fix test worker path

* chore: simplify function naming

* chore: optimize getSlotFromOffset

* chore: refactor to avoid needless deserialization

* fix: update metrics names

* feat: add historical state regen dashboard

* fix: update vm dashboards with historical state worker

* chore: fix test data

* feat: transfer state across worker boundary

* chore: address some pr comments

* chore: clean module close

* feat: add metrics

---------

Co-authored-by: Matthew Keil <me@matthewkeil.com>
Co-authored-by: Tuyen Nguyen <vutuyen2636@gmail.com>
* fix: sanitize url in http client debug logs and metrics

* Improve naming consistency

* Clean up

* Re-assign baseUrl to fix type inference
* docs: add note to local testnet setup

* Add Kurtosis to wordlist
nflaig and others added 4 commits July 30, 2024 12:01
* Update lc cli flags to use camelCase

* Update reference to light client beacon api spec

* Fix browser bundle reference and min version

* Update prover readme title

* Remove redundancy in docs sidebar

* Remove v0 lodestar-specific route

* Add references to beacon api explorer
* add external dependencies

* add lodestar prover

* add flare

* add lodestar-logger

* add reqresp

* Update reqresp description

* Lint

* Add light-client and prover to liraries that are useful individually

* Consistently use Req/Resp (as per CL spec) in docs

* Add Hashicorp to wordlist

* Sort wordlist

* Update wordlist

* Sort

* Fix header size of packages

* Consistent with readme text

* Consistent spelling of TypeScript in depgraph page

* Fix package names

* Update diagram

* Remove extra lines

* More visible arrows

* Use note instead of info label

* update readme.md

* Fix formatting

* update wordlist.txt

* update description of reqresp on readme.md

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

* Remove extra whiespace

* alignment

* light client alignment

* Lint README.md

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* Define ClientCode and engine_getClientVersionV1

* Default graffiti in beacon node

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

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

* Fix rebase

* Make graffiti optional in validator store

* Fix merge

* Fix lint

* Update packages/beacon-node/src/execution/engine/types.ts

Co-authored-by: Cayman <caymannava@gmail.com>

* Add fallback graffiti

* Address comment

* Address comment

* Cache client version in ExecutionEngine

* Hide graffiti if private flag is set

* Improve readability

* Partially address comment

* Partially address comment

* Partially address comment

* Refactor

* Update packages/beacon-node/src/execution/engine/http.ts

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

* Partial address comment

* Add unit test

* Fix unit test

* Review PR, mostly cosmetic

* Fix graffiti tests

* Add workaround to test code instead of src

* Set client version to null if not supported by EL

* Log failed client version updates as debug

* Throw error if EL client returns empty client versions array

* Update engine mock

* Set client version to null initially to avoid fetching multiple times

* Reorder statements

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
Co-authored-by: Cayman <caymannava@gmail.com>
Copy link

codecov bot commented Jul 30, 2024

Codecov Report

Attention: Patch coverage is 39.89362% with 226 lines in your changes missing coverage. Please review.

Project coverage is 62.48%. Comparing base (115118c) to head (393e63c).

Additional details and impacted files
@@            Coverage Diff             @@
##           stable    #6988      +/-   ##
==========================================
- Coverage   62.54%   62.48%   -0.07%     
==========================================
  Files         575      576       +1     
  Lines       61077    61208     +131     
  Branches     2132     2141       +9     
==========================================
+ Hits        38203    38246      +43     
- Misses      22834    22923      +89     
+ Partials       40       39       -1     

Copy link
Contributor

github-actions bot commented Jul 30, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: c48b1a1 Previous: - Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.3242 ms/op
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 72.081 us/op
BLS verify - blst 1.1024 ms/op
BLS verifyMultipleSignatures 3 - blst 1.3965 ms/op
BLS verifyMultipleSignatures 8 - blst 2.4684 ms/op
BLS verifyMultipleSignatures 32 - blst 5.9543 ms/op
BLS verifyMultipleSignatures 64 - blst 10.944 ms/op
BLS verifyMultipleSignatures 128 - blst 18.303 ms/op
BLS deserializing 10000 signatures 710.77 ms/op
BLS deserializing 100000 signatures 7.1209 s/op
BLS verifyMultipleSignatures - same message - 3 - blst 1.1801 ms/op
BLS verifyMultipleSignatures - same message - 8 - blst 1.3099 ms/op
BLS verifyMultipleSignatures - same message - 32 - blst 1.9214 ms/op
BLS verifyMultipleSignatures - same message - 64 - blst 2.8779 ms/op
BLS verifyMultipleSignatures - same message - 128 - blst 5.0875 ms/op
BLS aggregatePubkeys 32 - blst 21.187 us/op
BLS aggregatePubkeys 128 - blst 77.402 us/op
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 76.865 ms/op
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 76.229 ms/op
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 52.170 ms/op
getSlashingsAndExits - default max 320.21 us/op
getSlashingsAndExits - 2k 558.78 us/op
proposeBlockBody type=full, size=empty 7.4333 ms/op
isKnown best case - 1 super set check 906.00 ns/op
isKnown normal case - 2 super set checks 821.00 ns/op
isKnown worse case - 16 super set checks 876.00 ns/op
InMemoryCheckpointStateCache - add get delete 9.9210 us/op
validate api signedAggregateAndProof - struct 2.0656 ms/op
validate gossip signedAggregateAndProof - struct 2.1897 ms/op
validate gossip attestation - vc 640000 1.3416 ms/op
batch validate gossip attestation - vc 640000 - chunk 32 185.85 us/op
batch validate gossip attestation - vc 640000 - chunk 64 150.05 us/op
batch validate gossip attestation - vc 640000 - chunk 128 140.19 us/op
batch validate gossip attestation - vc 640000 - chunk 256 131.62 us/op
pickEth1Vote - no votes 1.3629 ms/op
pickEth1Vote - max votes 12.851 ms/op
pickEth1Vote - Eth1Data hashTreeRoot value x2048 18.040 ms/op
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 29.383 ms/op
pickEth1Vote - Eth1Data fastSerialize value x2048 662.10 us/op
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.1521 ms/op
bytes32 toHexString 864.00 ns/op
bytes32 Buffer.toString(hex) 313.00 ns/op
bytes32 Buffer.toString(hex) from Uint8Array 549.00 ns/op
bytes32 Buffer.toString(hex) + 0x 356.00 ns/op
Object access 1 prop 0.23800 ns/op
Map access 1 prop 0.15300 ns/op
Object get x1000 6.5850 ns/op
Map get x1000 8.1340 ns/op
Object set x1000 67.807 ns/op
Map set x1000 45.668 ns/op
Return object 10000 times 0.35050 ns/op
Throw Error 10000 times 3.8245 us/op
fastMsgIdFn sha256 / 200 bytes 2.6230 us/op
fastMsgIdFn h32 xxhash / 200 bytes 371.00 ns/op
fastMsgIdFn h64 xxhash / 200 bytes 325.00 ns/op
fastMsgIdFn sha256 / 1000 bytes 8.0690 us/op
fastMsgIdFn h32 xxhash / 1000 bytes 478.00 ns/op
fastMsgIdFn h64 xxhash / 1000 bytes 380.00 ns/op
fastMsgIdFn sha256 / 10000 bytes 69.406 us/op
fastMsgIdFn h32 xxhash / 10000 bytes 2.0560 us/op
fastMsgIdFn h64 xxhash / 10000 bytes 1.3200 us/op
send data - 1000 256B messages 18.212 ms/op
send data - 1000 512B messages 22.724 ms/op
send data - 1000 1024B messages 32.533 ms/op
send data - 1000 1200B messages 34.440 ms/op
send data - 1000 2048B messages 40.117 ms/op
send data - 1000 4096B messages 45.078 ms/op
send data - 1000 16384B messages 120.12 ms/op
send data - 1000 65536B messages 328.64 ms/op
enrSubnets - fastDeserialize 64 bits 1.6390 us/op
enrSubnets - ssz BitVector 64 bits 492.00 ns/op
enrSubnets - fastDeserialize 4 bits 215.00 ns/op
enrSubnets - ssz BitVector 4 bits 494.00 ns/op
prioritizePeers score -10:0 att 32-0.1 sync 2-0 332.11 us/op
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 227.49 us/op
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 475.89 us/op
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 981.97 us/op
prioritizePeers score 0:0 att 64-1 sync 4-1 1.2390 ms/op
array of 16000 items push then shift 1.8924 us/op
LinkedList of 16000 items push then shift 19.523 ns/op
array of 16000 items push then pop 198.37 ns/op
LinkedList of 16000 items push then pop 12.903 ns/op
array of 24000 items push then shift 3.1036 us/op
LinkedList of 24000 items push then shift 15.050 ns/op
array of 24000 items push then pop 277.43 ns/op
LinkedList of 24000 items push then pop 12.712 ns/op
intersect bitArray bitLen 8 9.5990 ns/op
intersect array and set length 8 109.19 ns/op
intersect bitArray bitLen 128 36.854 ns/op
intersect array and set length 128 1.1499 us/op
bitArray.getTrueBitIndexes() bitLen 128 3.3750 us/op
bitArray.getTrueBitIndexes() bitLen 248 6.7150 us/op
bitArray.getTrueBitIndexes() bitLen 512 18.123 us/op
Buffer.concat 32 items 2.1930 us/op
Uint8Array.set 32 items 3.2870 us/op
Buffer.copy 4.0380 us/op
Uint8Array.set - with subarray 7.5930 us/op
Uint8Array.set - without subarray 3.0120 us/op
getUint32 - dataview 435.00 ns/op
getUint32 - manual 433.00 ns/op
Set add up to 64 items then delete first 3.9233 us/op
OrderedSet add up to 64 items then delete first 7.3320 us/op
Set add up to 64 items then delete last 4.8839 us/op
OrderedSet add up to 64 items then delete last 8.2666 us/op
Set add up to 64 items then delete middle 5.3129 us/op
OrderedSet add up to 64 items then delete middle 9.2122 us/op
Set add up to 128 items then delete first 9.6696 us/op
OrderedSet add up to 128 items then delete first 19.132 us/op
Set add up to 128 items then delete last 11.688 us/op
OrderedSet add up to 128 items then delete last 14.923 us/op
Set add up to 128 items then delete middle 9.7309 us/op
OrderedSet add up to 128 items then delete middle 25.058 us/op
Set add up to 256 items then delete first 20.069 us/op
OrderedSet add up to 256 items then delete first 28.848 us/op
Set add up to 256 items then delete last 18.643 us/op
OrderedSet add up to 256 items then delete last 32.364 us/op
Set add up to 256 items then delete middle 20.908 us/op
OrderedSet add up to 256 items then delete middle 63.046 us/op
transfer serialized Status (84 B) 1.6420 us/op
copy serialized Status (84 B) 1.7520 us/op
transfer serialized SignedVoluntaryExit (112 B) 2.1090 us/op
copy serialized SignedVoluntaryExit (112 B) 1.9750 us/op
transfer serialized ProposerSlashing (416 B) 2.8920 us/op
copy serialized ProposerSlashing (416 B) 3.4130 us/op
transfer serialized Attestation (485 B) 3.7530 us/op
copy serialized Attestation (485 B) 3.9770 us/op
transfer serialized AttesterSlashing (33232 B) 4.5270 us/op
copy serialized AttesterSlashing (33232 B) 71.473 us/op
transfer serialized Small SignedBeaconBlock (128000 B) 5.7470 us/op
copy serialized Small SignedBeaconBlock (128000 B) 50.662 us/op
transfer serialized Avg SignedBeaconBlock (200000 B) 6.0470 us/op
copy serialized Avg SignedBeaconBlock (200000 B) 72.565 us/op
transfer serialized BlobsSidecar (524380 B) 7.4220 us/op
copy serialized BlobsSidecar (524380 B) 199.21 us/op
transfer serialized Big SignedBeaconBlock (1000000 B) 10.335 us/op
copy serialized Big SignedBeaconBlock (1000000 B) 392.21 us/op
pass gossip attestations to forkchoice per slot 5.0338 ms/op
forkChoice updateHead vc 100000 bc 64 eq 0 651.28 us/op
forkChoice updateHead vc 600000 bc 64 eq 0 8.0523 ms/op
forkChoice updateHead vc 1000000 bc 64 eq 0 10.836 ms/op
forkChoice updateHead vc 600000 bc 320 eq 0 4.5978 ms/op
forkChoice updateHead vc 600000 bc 1200 eq 0 6.0705 ms/op
forkChoice updateHead vc 600000 bc 7200 eq 0 8.8153 ms/op
forkChoice updateHead vc 600000 bc 64 eq 1000 12.497 ms/op
forkChoice updateHead vc 600000 bc 64 eq 10000 12.548 ms/op
forkChoice updateHead vc 600000 bc 64 eq 300000 74.515 ms/op
computeDeltas 500000 validators 300 proto nodes 6.5237 ms/op
computeDeltas 500000 validators 1200 proto nodes 6.0057 ms/op
computeDeltas 500000 validators 7200 proto nodes 5.8328 ms/op
computeDeltas 750000 validators 300 proto nodes 8.1976 ms/op
computeDeltas 750000 validators 1200 proto nodes 5.5062 ms/op
computeDeltas 750000 validators 7200 proto nodes 5.4508 ms/op
computeDeltas 1400000 validators 300 proto nodes 10.016 ms/op
computeDeltas 1400000 validators 1200 proto nodes 10.258 ms/op
computeDeltas 1400000 validators 7200 proto nodes 10.242 ms/op
computeDeltas 2100000 validators 300 proto nodes 15.741 ms/op
computeDeltas 2100000 validators 1200 proto nodes 15.527 ms/op
computeDeltas 2100000 validators 7200 proto nodes 15.615 ms/op
altair processAttestation - 250000 vs - 7PWei normalcase 1.8923 ms/op
altair processAttestation - 250000 vs - 7PWei worstcase 4.3083 ms/op
altair processAttestation - setStatus - 1/6 committees join 127.33 us/op
altair processAttestation - setStatus - 1/3 committees join 251.18 us/op
altair processAttestation - setStatus - 1/2 committees join 285.58 us/op
altair processAttestation - setStatus - 2/3 committees join 405.34 us/op
altair processAttestation - setStatus - 4/5 committees join 563.55 us/op
altair processAttestation - setStatus - 100% committees join 721.71 us/op
altair processBlock - 250000 vs - 7PWei normalcase 6.1876 ms/op
altair processBlock - 250000 vs - 7PWei normalcase hashState 33.994 ms/op
altair processBlock - 250000 vs - 7PWei worstcase 43.940 ms/op
altair processBlock - 250000 vs - 7PWei worstcase hashState 110.88 ms/op
phase0 processBlock - 250000 vs - 7PWei normalcase 3.4554 ms/op
phase0 processBlock - 250000 vs - 7PWei worstcase 31.666 ms/op
altair processEth1Data - 250000 vs - 7PWei normalcase 786.05 us/op
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 10.539 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 41.778 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 16.113 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 13.076 us/op
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 151.08 us/op
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.0851 ms/op
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.4579 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.2609 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.3665 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.0735 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 6.7737 ms/op
Tree 40 250000 create 750.31 ms/op
Tree 40 250000 get(125000) 189.34 ns/op
Tree 40 250000 set(125000) 2.2506 us/op
Tree 40 250000 toArray() 39.546 ms/op
Tree 40 250000 iterate all - toArray() + loop 36.101 ms/op
Tree 40 250000 iterate all - get(i) 69.094 ms/op
MutableVector 250000 create 17.274 ms/op
MutableVector 250000 get(125000) 7.5680 ns/op
MutableVector 250000 set(125000) 728.87 ns/op
MutableVector 250000 toArray() 5.8690 ms/op
MutableVector 250000 iterate all - toArray() + loop 5.6997 ms/op
MutableVector 250000 iterate all - get(i) 1.8085 ms/op
Array 250000 create 5.6116 ms/op
Array 250000 clone - spread 4.3588 ms/op
Array 250000 get(125000) 0.49800 ns/op
Array 250000 set(125000) 0.52900 ns/op
Array 250000 iterate all - loop 115.58 us/op
effectiveBalanceIncrements clone Uint8Array 300000 71.790 us/op
effectiveBalanceIncrements clone MutableVector 300000 158.00 ns/op
effectiveBalanceIncrements rw all Uint8Array 300000 212.61 us/op
effectiveBalanceIncrements rw all MutableVector 300000 185.77 ms/op
phase0 afterProcessEpoch - 250000 vs - 7PWei 96.704 ms/op
Array.fill - length 1000000 9.6992 ms/op
Array push - length 1000000 34.572 ms/op
Array.get 0.30604 ns/op
Uint8Array.get 0.48944 ns/op
phase0 beforeProcessEpoch - 250000 vs - 7PWei 39.556 ms/op
altair processEpoch - mainnet_e81889 459.44 ms/op
mainnet_e81889 - altair beforeProcessEpoch 37.517 ms/op
mainnet_e81889 - altair processJustificationAndFinalization 16.483 us/op
mainnet_e81889 - altair processInactivityUpdates 6.5307 ms/op
mainnet_e81889 - altair processRewardsAndPenalties 45.648 ms/op
mainnet_e81889 - altair processRegistryUpdates 2.8510 us/op
mainnet_e81889 - altair processSlashings 548.00 ns/op
mainnet_e81889 - altair processEth1DataReset 465.00 ns/op
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.8268 ms/op
mainnet_e81889 - altair processSlashingsReset 5.2350 us/op
mainnet_e81889 - altair processRandaoMixesReset 6.8070 us/op
mainnet_e81889 - altair processHistoricalRootsUpdate 769.00 ns/op
mainnet_e81889 - altair processParticipationFlagUpdates 2.6330 us/op
mainnet_e81889 - altair processSyncCommitteeUpdates 593.00 ns/op
mainnet_e81889 - altair afterProcessEpoch 95.940 ms/op
capella processEpoch - mainnet_e217614 1.3537 s/op
mainnet_e217614 - capella beforeProcessEpoch 128.45 ms/op
mainnet_e217614 - capella processJustificationAndFinalization 19.662 us/op
mainnet_e217614 - capella processInactivityUpdates 19.156 ms/op
mainnet_e217614 - capella processRewardsAndPenalties 277.77 ms/op
mainnet_e217614 - capella processRegistryUpdates 18.610 us/op
mainnet_e217614 - capella processSlashings 690.00 ns/op
mainnet_e217614 - capella processEth1DataReset 592.00 ns/op
mainnet_e217614 - capella processEffectiveBalanceUpdates 15.369 ms/op
mainnet_e217614 - capella processSlashingsReset 9.7640 us/op
mainnet_e217614 - capella processRandaoMixesReset 10.646 us/op
mainnet_e217614 - capella processHistoricalRootsUpdate 837.00 ns/op
mainnet_e217614 - capella processParticipationFlagUpdates 3.5530 us/op
mainnet_e217614 - capella afterProcessEpoch 307.98 ms/op
phase0 processEpoch - mainnet_e58758 510.55 ms/op
mainnet_e58758 - phase0 beforeProcessEpoch 120.03 ms/op
mainnet_e58758 - phase0 processJustificationAndFinalization 23.429 us/op
mainnet_e58758 - phase0 processRewardsAndPenalties 38.108 ms/op
mainnet_e58758 - phase0 processRegistryUpdates 9.5280 us/op
mainnet_e58758 - phase0 processSlashings 484.00 ns/op
mainnet_e58758 - phase0 processEth1DataReset 452.00 ns/op
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1355 ms/op
mainnet_e58758 - phase0 processSlashingsReset 3.8480 us/op
mainnet_e58758 - phase0 processRandaoMixesReset 9.9550 us/op
mainnet_e58758 - phase0 processHistoricalRootsUpdate 843.00 ns/op
mainnet_e58758 - phase0 processParticipationRecordUpdates 5.1720 us/op
mainnet_e58758 - phase0 afterProcessEpoch 86.924 ms/op
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3331 ms/op
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.6355 ms/op
altair processInactivityUpdates - 250000 normalcase 20.301 ms/op
altair processInactivityUpdates - 250000 worstcase 18.869 ms/op
phase0 processRegistryUpdates - 250000 normalcase 7.3650 us/op
phase0 processRegistryUpdates - 250000 badcase_full_deposits 349.71 us/op
phase0 processRegistryUpdates - 250000 worstcase 0.5 135.52 ms/op
altair processRewardsAndPenalties - 250000 normalcase 43.615 ms/op
altair processRewardsAndPenalties - 250000 worstcase 40.946 ms/op
phase0 getAttestationDeltas - 250000 normalcase 8.4380 ms/op
phase0 getAttestationDeltas - 250000 worstcase 9.7486 ms/op
phase0 processSlashings - 250000 worstcase 103.14 us/op
altair processSyncCommitteeUpdates - 250000 128.74 ms/op
BeaconState.hashTreeRoot - No change 306.00 ns/op
BeaconState.hashTreeRoot - 1 full validator 97.470 us/op
BeaconState.hashTreeRoot - 32 full validator 1.0335 ms/op
BeaconState.hashTreeRoot - 512 full validator 12.231 ms/op
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 134.48 us/op
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.2260 ms/op
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 30.156 ms/op
BeaconState.hashTreeRoot - 1 balances 115.12 us/op
BeaconState.hashTreeRoot - 32 balances 1.2958 ms/op
BeaconState.hashTreeRoot - 512 balances 13.287 ms/op
BeaconState.hashTreeRoot - 250000 balances 200.42 ms/op
aggregationBits - 2048 els - zipIndexesInBitList 25.354 us/op
byteArrayEquals 32 54.679 ns/op
Buffer.compare 32 17.575 ns/op
byteArrayEquals 1024 1.6118 us/op
Buffer.compare 1024 26.020 ns/op
byteArrayEquals 16384 25.693 us/op
Buffer.compare 16384 182.96 ns/op
byteArrayEquals 123687377 193.31 ms/op
Buffer.compare 123687377 7.6729 ms/op
byteArrayEquals 32 - diff last byte 53.915 ns/op
Buffer.compare 32 - diff last byte 17.554 ns/op
byteArrayEquals 1024 - diff last byte 1.5941 us/op
Buffer.compare 1024 - diff last byte 25.272 ns/op
byteArrayEquals 16384 - diff last byte 25.711 us/op
Buffer.compare 16384 - diff last byte 194.53 ns/op
byteArrayEquals 123687377 - diff last byte 198.61 ms/op
Buffer.compare 123687377 - diff last byte 12.372 ms/op
byteArrayEquals 32 - random bytes 5.6500 ns/op
Buffer.compare 32 - random bytes 20.044 ns/op
byteArrayEquals 1024 - random bytes 5.6260 ns/op
Buffer.compare 1024 - random bytes 22.203 ns/op
byteArrayEquals 16384 - random bytes 5.8550 ns/op
Buffer.compare 16384 - random bytes 18.617 ns/op
byteArrayEquals 123687377 - random bytes 6.7800 ns/op
Buffer.compare 123687377 - random bytes 19.420 ns/op
regular array get 100000 times 37.783 us/op
wrappedArray get 100000 times 35.099 us/op
arrayWithProxy get 100000 times 14.062 ms/op
ssz.Root.equals 47.431 ns/op
byteArrayEquals 46.575 ns/op
Buffer.compare 10.962 ns/op
shuffle list - 16384 els 6.5073 ms/op
shuffle list - 250000 els 94.860 ms/op
processSlot - 1 slots 13.887 us/op
processSlot - 32 slots 3.2839 ms/op
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 38.262 ms/op
getCommitteeAssignments - req 1 vs - 250000 vc 2.2402 ms/op
getCommitteeAssignments - req 100 vs - 250000 vc 4.2805 ms/op
getCommitteeAssignments - req 1000 vs - 250000 vc 4.6418 ms/op
findModifiedValidators - 10000 modified validators 273.68 ms/op
findModifiedValidators - 1000 modified validators 189.14 ms/op
findModifiedValidators - 100 modified validators 156.98 ms/op
findModifiedValidators - 10 modified validators 160.47 ms/op
findModifiedValidators - 1 modified validators 163.57 ms/op
findModifiedValidators - no difference 165.64 ms/op
compare ViewDUs 3.3738 s/op
compare each validator Uint8Array 1.3253 s/op
compare ViewDU to Uint8Array 1.2380 s/op
migrate state 1000000 validators, 24 modified, 0 new 750.64 ms/op
migrate state 1000000 validators, 1700 modified, 1000 new 1.0179 s/op
migrate state 1000000 validators, 3400 modified, 2000 new 1.1867 s/op
migrate state 1500000 validators, 24 modified, 0 new 820.26 ms/op
migrate state 1500000 validators, 1700 modified, 1000 new 953.92 ms/op
migrate state 1500000 validators, 3400 modified, 2000 new 1.2766 s/op
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.6000 ns/op
state getBlockRootAtSlot - 250000 vs - 7PWei 813.22 ns/op
computeProposers - vc 250000 12.345 ms/op
computeEpochShuffling - vc 250000 101.32 ms/op
getNextSyncCommittee - vc 250000 171.35 ms/op
computeSigningRoot for AttestationData 31.936 us/op
hash AttestationData serialized data then Buffer.toString(base64) 1.6031 us/op
toHexString serialized data 1.2308 us/op
Buffer.toString(base64) 232.57 ns/op

by benchmarkbot/action

twoeths and others added 4 commits August 1, 2024 10:46
* Revert "feat: add yamux stream muxer (#5886)"

This reverts commit acbedaf.

* chore: update yarn.lock
* fix: use default node image instead of alpine

* fix: use apt-get

* Apply suggestions from code review

---------

Co-authored-by: Cayman <caymannava@gmail.com>
* fix: do not populate proposerIndices and inclusionDelays from altair

* feat: remove eligibleValidatorIndices

* fix: avoid array.slice in processRegistryUpdates()

* fix: reuse nextEpochShufflingActiveValidatorIndices

* fix: state-transition check-types

* chore: rename nextEpochShufflingActiveIndicesLength
@wemeetagain wemeetagain closed this Aug 6, 2024
@wemeetagain wemeetagain deleted the rc/v1.21.0 branch August 6, 2024 20:58
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