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: update keymanager spec tests to run against v1.1.0 #7044

Merged
merged 1 commit into from
Aug 22, 2024

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Aug 22, 2024

Motivation

Latest spec now covers voluntary exit and graffiti apis which we have implemented already but are not tested right now.

Description

Update keymanager spec tests to run against v1.1.0

@nflaig nflaig requested a review from a team as a code owner August 22, 2024 10:28
Copy link

codecov bot commented Aug 22, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 49.24%. Comparing base (6f470f8) to head (a43ae38).
Report is 2 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #7044      +/-   ##
============================================
- Coverage     49.25%   49.24%   -0.01%     
============================================
  Files           578      578              
  Lines         37443    37443              
  Branches       2172     2164       -8     
============================================
- Hits          18441    18439       -2     
- Misses        18962    18964       +2     
  Partials         40       40              

@ensi321 ensi321 merged commit 6d01593 into unstable Aug 22, 2024
20 checks passed
@ensi321 ensi321 deleted the nflaig/keymanager-spec-version branch August 22, 2024 10:47
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: a3c4275 Previous: 4ea7edd Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.1145 ms/op 2.6055 ms/op 0.81
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 48.658 us/op 80.209 us/op 0.61
BLS verify - blst 996.51 us/op 1.1234 ms/op 0.89
BLS verifyMultipleSignatures 3 - blst 1.3002 ms/op 1.7285 ms/op 0.75
BLS verifyMultipleSignatures 8 - blst 2.0530 ms/op 2.4733 ms/op 0.83
BLS verifyMultipleSignatures 32 - blst 6.4414 ms/op 7.4787 ms/op 0.86
BLS verifyMultipleSignatures 64 - blst 10.888 ms/op 12.507 ms/op 0.87
BLS verifyMultipleSignatures 128 - blst 17.656 ms/op 21.076 ms/op 0.84
BLS deserializing 10000 signatures 703.18 ms/op 792.81 ms/op 0.89
BLS deserializing 100000 signatures 7.0692 s/op 7.8729 s/op 0.90
BLS verifyMultipleSignatures - same message - 3 - blst 1.1642 ms/op 1.1819 ms/op 0.99
BLS verifyMultipleSignatures - same message - 8 - blst 1.1778 ms/op 1.3040 ms/op 0.90
BLS verifyMultipleSignatures - same message - 32 - blst 1.9473 ms/op 2.0659 ms/op 0.94
BLS verifyMultipleSignatures - same message - 64 - blst 2.7926 ms/op 3.1542 ms/op 0.89
BLS verifyMultipleSignatures - same message - 128 - blst 4.7297 ms/op 5.0196 ms/op 0.94
BLS aggregatePubkeys 32 - blst 21.107 us/op 22.129 us/op 0.95
BLS aggregatePubkeys 128 - blst 73.863 us/op 80.153 us/op 0.92
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 93.582 ms/op 102.57 ms/op 0.91
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 65.816 ms/op 75.357 ms/op 0.87
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 39.966 ms/op 47.173 ms/op 0.85
getSlashingsAndExits - default max 92.794 us/op 143.79 us/op 0.65
getSlashingsAndExits - 2k 337.39 us/op 382.02 us/op 0.88
proposeBlockBody type=full, size=empty 6.2303 ms/op 7.1536 ms/op 0.87
isKnown best case - 1 super set check 380.00 ns/op 652.00 ns/op 0.58
isKnown normal case - 2 super set checks 512.00 ns/op 672.00 ns/op 0.76
isKnown worse case - 16 super set checks 428.00 ns/op 660.00 ns/op 0.65
InMemoryCheckpointStateCache - add get delete 3.4170 us/op 3.9210 us/op 0.87
validate api signedAggregateAndProof - struct 1.6493 ms/op 1.9821 ms/op 0.83
validate gossip signedAggregateAndProof - struct 1.7479 ms/op 1.9275 ms/op 0.91
validate gossip attestation - vc 640000 1.1191 ms/op 1.2416 ms/op 0.90
batch validate gossip attestation - vc 640000 - chunk 32 149.42 us/op 161.92 us/op 0.92
batch validate gossip attestation - vc 640000 - chunk 64 133.23 us/op 143.08 us/op 0.93
batch validate gossip attestation - vc 640000 - chunk 128 155.88 us/op 145.04 us/op 1.07
batch validate gossip attestation - vc 640000 - chunk 256 156.50 us/op 151.30 us/op 1.03
pickEth1Vote - no votes 1.4207 ms/op 1.5792 ms/op 0.90
pickEth1Vote - max votes 14.766 ms/op 12.616 ms/op 1.17
pickEth1Vote - Eth1Data hashTreeRoot value x2048 22.352 ms/op 19.847 ms/op 1.13
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 31.494 ms/op 32.458 ms/op 0.97
pickEth1Vote - Eth1Data fastSerialize value x2048 711.41 us/op 700.45 us/op 1.02
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.1100 ms/op 4.3902 ms/op 1.39
bytes32 toHexString 893.00 ns/op 909.00 ns/op 0.98
bytes32 Buffer.toString(hex) 332.00 ns/op 318.00 ns/op 1.04
bytes32 Buffer.toString(hex) from Uint8Array 552.00 ns/op 592.00 ns/op 0.93
bytes32 Buffer.toString(hex) + 0x 293.00 ns/op 336.00 ns/op 0.87
Object access 1 prop 0.22100 ns/op 0.23100 ns/op 0.96
Map access 1 prop 0.14700 ns/op 0.20200 ns/op 0.73
Object get x1000 6.5570 ns/op 8.0370 ns/op 0.82
Map get x1000 7.2050 ns/op 9.1740 ns/op 0.79
Object set x1000 63.720 ns/op 74.306 ns/op 0.86
Map set x1000 39.665 ns/op 52.721 ns/op 0.75
Return object 10000 times 0.31830 ns/op 0.36870 ns/op 0.86
Throw Error 10000 times 3.6713 us/op 4.3599 us/op 0.84
toHex 199.49 ns/op 224.30 ns/op 0.89
Buffer.from 176.91 ns/op 222.01 ns/op 0.80
shared Buffer 109.63 ns/op 121.41 ns/op 0.90
fastMsgIdFn sha256 / 200 bytes 2.6720 us/op 2.8420 us/op 0.94
fastMsgIdFn h32 xxhash / 200 bytes 336.00 ns/op 365.00 ns/op 0.92
fastMsgIdFn h64 xxhash / 200 bytes 307.00 ns/op 338.00 ns/op 0.91
fastMsgIdFn sha256 / 1000 bytes 8.5870 us/op 9.3670 us/op 0.92
fastMsgIdFn h32 xxhash / 1000 bytes 462.00 ns/op 561.00 ns/op 0.82
fastMsgIdFn h64 xxhash / 1000 bytes 381.00 ns/op 550.00 ns/op 0.69
fastMsgIdFn sha256 / 10000 bytes 70.002 us/op 93.243 us/op 0.75
fastMsgIdFn h32 xxhash / 10000 bytes 2.0370 us/op 3.0740 us/op 0.66
fastMsgIdFn h64 xxhash / 10000 bytes 1.3190 us/op 1.7500 us/op 0.75
send data - 1000 256B messages 15.966 ms/op 22.575 ms/op 0.71
send data - 1000 512B messages 28.488 ms/op 26.438 ms/op 1.08
send data - 1000 1024B messages 34.790 ms/op 36.652 ms/op 0.95
send data - 1000 1200B messages 31.380 ms/op 45.039 ms/op 0.70
send data - 1000 2048B messages 38.289 ms/op 54.344 ms/op 0.70
send data - 1000 4096B messages 41.094 ms/op 51.949 ms/op 0.79
send data - 1000 16384B messages 81.079 ms/op 137.14 ms/op 0.59
send data - 1000 65536B messages 320.85 ms/op 273.17 ms/op 1.17
enrSubnets - fastDeserialize 64 bits 1.8500 us/op 1.7130 us/op 1.08
enrSubnets - ssz BitVector 64 bits 532.00 ns/op 550.00 ns/op 0.97
enrSubnets - fastDeserialize 4 bits 237.00 ns/op 251.00 ns/op 0.94
enrSubnets - ssz BitVector 4 bits 530.00 ns/op 600.00 ns/op 0.88
prioritizePeers score -10:0 att 32-0.1 sync 2-0 239.46 us/op 230.61 us/op 1.04
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 247.57 us/op 262.09 us/op 0.94
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 384.82 us/op 658.98 us/op 0.58
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 584.79 us/op 693.32 us/op 0.84
prioritizePeers score 0:0 att 64-1 sync 4-1 817.46 us/op 1.2916 ms/op 0.63
array of 16000 items push then shift 1.8056 us/op 2.2201 us/op 0.81
LinkedList of 16000 items push then shift 8.1340 ns/op 14.804 ns/op 0.55
array of 16000 items push then pop 141.97 ns/op 222.07 ns/op 0.64
LinkedList of 16000 items push then pop 8.3400 ns/op 12.847 ns/op 0.65
array of 24000 items push then shift 2.5388 us/op 3.5852 us/op 0.71
LinkedList of 24000 items push then shift 7.6750 ns/op 14.791 ns/op 0.52
array of 24000 items push then pop 175.21 ns/op 298.84 ns/op 0.59
LinkedList of 24000 items push then pop 7.8200 ns/op 13.118 ns/op 0.60
intersect bitArray bitLen 8 6.7120 ns/op 10.865 ns/op 0.62
intersect array and set length 8 51.107 ns/op 110.78 ns/op 0.46
intersect bitArray bitLen 128 30.411 ns/op 42.524 ns/op 0.72
intersect array and set length 128 774.83 ns/op 1.4796 us/op 0.52
bitArray.getTrueBitIndexes() bitLen 128 1.7160 us/op 3.6980 us/op 0.46
bitArray.getTrueBitIndexes() bitLen 248 3.2600 us/op 7.2390 us/op 0.45
bitArray.getTrueBitIndexes() bitLen 512 6.8840 us/op 13.361 us/op 0.52
Buffer.concat 32 items 1.1430 us/op 1.6800 us/op 0.68
Uint8Array.set 32 items 2.1170 us/op 2.4630 us/op 0.86
Buffer.copy 2.4390 us/op 2.3540 us/op 1.04
Uint8Array.set - with subarray 3.0350 us/op 3.8280 us/op 0.79
Uint8Array.set - without subarray 1.6150 us/op 2.1610 us/op 0.75
getUint32 - dataview 246.00 ns/op 337.00 ns/op 0.73
getUint32 - manual 163.00 ns/op 298.00 ns/op 0.55
Set add up to 64 items then delete first 2.2842 us/op 3.4253 us/op 0.67
OrderedSet add up to 64 items then delete first 4.0227 us/op 4.9565 us/op 0.81
Set add up to 64 items then delete last 3.2794 us/op 3.6756 us/op 0.89
OrderedSet add up to 64 items then delete last 4.6207 us/op 6.1651 us/op 0.75
Set add up to 64 items then delete middle 3.4115 us/op 3.7004 us/op 0.92
OrderedSet add up to 64 items then delete middle 6.6872 us/op 7.2982 us/op 0.92
Set add up to 128 items then delete first 6.1323 us/op 6.4096 us/op 0.96
OrderedSet add up to 128 items then delete first 8.5384 us/op 10.673 us/op 0.80
Set add up to 128 items then delete last 5.9897 us/op 7.0393 us/op 0.85
OrderedSet add up to 128 items then delete last 8.4515 us/op 10.605 us/op 0.80
Set add up to 128 items then delete middle 5.8620 us/op 6.8816 us/op 0.85
OrderedSet add up to 128 items then delete middle 16.373 us/op 17.925 us/op 0.91
Set add up to 256 items then delete first 12.891 us/op 14.073 us/op 0.92
OrderedSet add up to 256 items then delete first 19.409 us/op 21.095 us/op 0.92
Set add up to 256 items then delete last 13.587 us/op 13.986 us/op 0.97
OrderedSet add up to 256 items then delete last 19.836 us/op 21.995 us/op 0.90
Set add up to 256 items then delete middle 13.272 us/op 13.388 us/op 0.99
OrderedSet add up to 256 items then delete middle 48.924 us/op 48.485 us/op 1.01
transfer serialized Status (84 B) 1.5540 us/op 1.5680 us/op 0.99
copy serialized Status (84 B) 1.3460 us/op 1.4160 us/op 0.95
transfer serialized SignedVoluntaryExit (112 B) 1.6050 us/op 1.6670 us/op 0.96
copy serialized SignedVoluntaryExit (112 B) 1.4500 us/op 1.4610 us/op 0.99
transfer serialized ProposerSlashing (416 B) 2.2550 us/op 2.6000 us/op 0.87
copy serialized ProposerSlashing (416 B) 2.2030 us/op 2.0190 us/op 1.09
transfer serialized Attestation (485 B) 2.2620 us/op 2.1290 us/op 1.06
copy serialized Attestation (485 B) 2.1810 us/op 1.9710 us/op 1.11
transfer serialized AttesterSlashing (33232 B) 2.2220 us/op 2.2040 us/op 1.01
copy serialized AttesterSlashing (33232 B) 8.3280 us/op 7.9320 us/op 1.05
transfer serialized Small SignedBeaconBlock (128000 B) 2.6730 us/op 2.6260 us/op 1.02
copy serialized Small SignedBeaconBlock (128000 B) 25.331 us/op 27.324 us/op 0.93
transfer serialized Avg SignedBeaconBlock (200000 B) 3.3790 us/op 3.4160 us/op 0.99
copy serialized Avg SignedBeaconBlock (200000 B) 41.827 us/op 34.377 us/op 1.22
transfer serialized BlobsSidecar (524380 B) 5.0840 us/op 4.4150 us/op 1.15
copy serialized BlobsSidecar (524380 B) 128.53 us/op 101.64 us/op 1.26
transfer serialized Big SignedBeaconBlock (1000000 B) 4.6640 us/op 4.5380 us/op 1.03
copy serialized Big SignedBeaconBlock (1000000 B) 219.21 us/op 423.22 us/op 0.52
pass gossip attestations to forkchoice per slot 3.1052 ms/op 3.2007 ms/op 0.97
forkChoice updateHead vc 100000 bc 64 eq 0 532.46 us/op 568.20 us/op 0.94
forkChoice updateHead vc 600000 bc 64 eq 0 3.2548 ms/op 3.8148 ms/op 0.85
forkChoice updateHead vc 1000000 bc 64 eq 0 6.8875 ms/op 6.2877 ms/op 1.10
forkChoice updateHead vc 600000 bc 320 eq 0 3.8162 ms/op 3.4152 ms/op 1.12
forkChoice updateHead vc 600000 bc 1200 eq 0 5.5146 ms/op 3.3435 ms/op 1.65
forkChoice updateHead vc 600000 bc 7200 eq 0 4.0566 ms/op 4.4148 ms/op 0.92
forkChoice updateHead vc 600000 bc 64 eq 1000 11.210 ms/op 11.242 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 10000 11.798 ms/op 11.358 ms/op 1.04
forkChoice updateHead vc 600000 bc 64 eq 300000 21.057 ms/op 18.408 ms/op 1.14
computeDeltas 500000 validators 300 proto nodes 4.3252 ms/op 3.9587 ms/op 1.09
computeDeltas 500000 validators 1200 proto nodes 4.9566 ms/op 3.7921 ms/op 1.31
computeDeltas 500000 validators 7200 proto nodes 4.9451 ms/op 3.7887 ms/op 1.31
computeDeltas 750000 validators 300 proto nodes 7.2781 ms/op 5.7003 ms/op 1.28
computeDeltas 750000 validators 1200 proto nodes 6.4537 ms/op 5.9040 ms/op 1.09
computeDeltas 750000 validators 7200 proto nodes 6.1261 ms/op 6.0759 ms/op 1.01
computeDeltas 1400000 validators 300 proto nodes 11.979 ms/op 11.369 ms/op 1.05
computeDeltas 1400000 validators 1200 proto nodes 12.550 ms/op 11.064 ms/op 1.13
computeDeltas 1400000 validators 7200 proto nodes 12.835 ms/op 10.665 ms/op 1.20
computeDeltas 2100000 validators 300 proto nodes 19.360 ms/op 16.616 ms/op 1.17
computeDeltas 2100000 validators 1200 proto nodes 16.575 ms/op 15.888 ms/op 1.04
computeDeltas 2100000 validators 7200 proto nodes 15.457 ms/op 15.760 ms/op 0.98
altair processAttestation - 250000 vs - 7PWei normalcase 1.9322 ms/op 1.7091 ms/op 1.13
altair processAttestation - 250000 vs - 7PWei worstcase 2.6048 ms/op 2.9195 ms/op 0.89
altair processAttestation - setStatus - 1/6 committees join 92.097 us/op 104.19 us/op 0.88
altair processAttestation - setStatus - 1/3 committees join 176.21 us/op 196.59 us/op 0.90
altair processAttestation - setStatus - 1/2 committees join 248.22 us/op 268.26 us/op 0.93
altair processAttestation - setStatus - 2/3 committees join 353.56 us/op 317.03 us/op 1.12
altair processAttestation - setStatus - 4/5 committees join 561.10 us/op 469.49 us/op 1.20
altair processAttestation - setStatus - 100% committees join 583.90 us/op 549.65 us/op 1.06
altair processBlock - 250000 vs - 7PWei normalcase 5.7337 ms/op 6.0797 ms/op 0.94
altair processBlock - 250000 vs - 7PWei normalcase hashState 31.211 ms/op 26.221 ms/op 1.19
altair processBlock - 250000 vs - 7PWei worstcase 40.062 ms/op 38.021 ms/op 1.05
altair processBlock - 250000 vs - 7PWei worstcase hashState 87.876 ms/op 77.832 ms/op 1.13
phase0 processBlock - 250000 vs - 7PWei normalcase 2.4799 ms/op 2.3454 ms/op 1.06
phase0 processBlock - 250000 vs - 7PWei worstcase 26.820 ms/op 24.904 ms/op 1.08
altair processEth1Data - 250000 vs - 7PWei normalcase 312.49 us/op 314.01 us/op 1.00
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.9740 us/op 6.1110 us/op 1.30
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 31.489 us/op 24.503 us/op 1.29
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 13.204 us/op 7.0420 us/op 1.88
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 8.0470 us/op 5.8360 us/op 1.38
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 114.78 us/op 101.92 us/op 1.13
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.1463 ms/op 1.0995 ms/op 1.04
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.2320 ms/op 1.7069 ms/op 0.72
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.6107 ms/op 1.5301 ms/op 1.05
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.4478 ms/op 2.5898 ms/op 0.95
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.0862 ms/op 1.8075 ms/op 1.15
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.8183 ms/op 3.8817 ms/op 0.98
Tree 40 250000 create 255.43 ms/op 229.83 ms/op 1.11
Tree 40 250000 get(125000) 156.62 ns/op 151.30 ns/op 1.04
Tree 40 250000 set(125000) 620.12 ns/op 733.96 ns/op 0.84
Tree 40 250000 toArray() 15.155 ms/op 18.387 ms/op 0.82
Tree 40 250000 iterate all - toArray() + loop 18.817 ms/op 23.077 ms/op 0.82
Tree 40 250000 iterate all - get(i) 53.672 ms/op 55.242 ms/op 0.97
MutableVector 250000 create 13.502 ms/op 11.259 ms/op 1.20
MutableVector 250000 get(125000) 6.5730 ns/op 6.3360 ns/op 1.04
MutableVector 250000 set(125000) 206.02 ns/op 193.34 ns/op 1.07
MutableVector 250000 toArray() 3.8072 ms/op 3.7833 ms/op 1.01
MutableVector 250000 iterate all - toArray() + loop 3.5769 ms/op 3.6151 ms/op 0.99
MutableVector 250000 iterate all - get(i) 1.7702 ms/op 1.6807 ms/op 1.05
Array 250000 create 3.5299 ms/op 3.4317 ms/op 1.03
Array 250000 clone - spread 1.3111 ms/op 1.4500 ms/op 0.90
Array 250000 get(125000) 0.40600 ns/op 0.42100 ns/op 0.96
Array 250000 set(125000) 0.43400 ns/op 0.44100 ns/op 0.98
Array 250000 iterate all - loop 105.36 us/op 93.124 us/op 1.13
effectiveBalanceIncrements clone Uint8Array 300000 25.232 us/op 31.535 us/op 0.80
effectiveBalanceIncrements clone MutableVector 300000 120.00 ns/op 128.00 ns/op 0.94
effectiveBalanceIncrements rw all Uint8Array 300000 196.25 us/op 198.29 us/op 0.99
effectiveBalanceIncrements rw all MutableVector 300000 62.912 ms/op 69.274 ms/op 0.91
phase0 afterProcessEpoch - 250000 vs - 7PWei 92.289 ms/op 89.871 ms/op 1.03
Array.fill - length 1000000 3.3759 ms/op 3.5923 ms/op 0.94
Array push - length 1000000 23.853 ms/op 17.200 ms/op 1.39
Array.get 0.28025 ns/op 0.29002 ns/op 0.97
Uint8Array.get 0.44411 ns/op 0.44924 ns/op 0.99
phase0 beforeProcessEpoch - 250000 vs - 7PWei 17.449 ms/op 17.872 ms/op 0.98
altair processEpoch - mainnet_e81889 342.99 ms/op 346.12 ms/op 0.99
mainnet_e81889 - altair beforeProcessEpoch 17.097 ms/op 17.186 ms/op 0.99
mainnet_e81889 - altair processJustificationAndFinalization 20.402 us/op 18.523 us/op 1.10
mainnet_e81889 - altair processInactivityUpdates 5.3778 ms/op 4.9391 ms/op 1.09
mainnet_e81889 - altair processRewardsAndPenalties 58.681 ms/op 60.481 ms/op 0.97
mainnet_e81889 - altair processRegistryUpdates 2.9780 us/op 2.7600 us/op 1.08
mainnet_e81889 - altair processSlashings 637.00 ns/op 563.00 ns/op 1.13
mainnet_e81889 - altair processEth1DataReset 539.00 ns/op 546.00 ns/op 0.99
mainnet_e81889 - altair processEffectiveBalanceUpdates 3.2402 ms/op 3.2122 ms/op 1.01
mainnet_e81889 - altair processSlashingsReset 9.1840 us/op 3.8050 us/op 2.41
mainnet_e81889 - altair processRandaoMixesReset 8.2160 us/op 9.0650 us/op 0.91
mainnet_e81889 - altair processHistoricalRootsUpdate 858.00 ns/op 808.00 ns/op 1.06
mainnet_e81889 - altair processParticipationFlagUpdates 2.8570 us/op 3.2050 us/op 0.89
mainnet_e81889 - altair processSyncCommitteeUpdates 740.00 ns/op 465.00 ns/op 1.59
mainnet_e81889 - altair afterProcessEpoch 97.631 ms/op 94.000 ms/op 1.04
capella processEpoch - mainnet_e217614 1.3038 s/op 1.2873 s/op 1.01
mainnet_e217614 - capella beforeProcessEpoch 65.066 ms/op 80.660 ms/op 0.81
mainnet_e217614 - capella processJustificationAndFinalization 24.755 us/op 16.000 us/op 1.55
mainnet_e217614 - capella processInactivityUpdates 22.344 ms/op 19.882 ms/op 1.12
mainnet_e217614 - capella processRewardsAndPenalties 275.11 ms/op 258.65 ms/op 1.06
mainnet_e217614 - capella processRegistryUpdates 20.733 us/op 17.680 us/op 1.17
mainnet_e217614 - capella processSlashings 733.00 ns/op 627.00 ns/op 1.17
mainnet_e217614 - capella processEth1DataReset 486.00 ns/op 329.00 ns/op 1.48
mainnet_e217614 - capella processEffectiveBalanceUpdates 10.184 ms/op 14.189 ms/op 0.72
mainnet_e217614 - capella processSlashingsReset 3.9520 us/op 3.0300 us/op 1.30
mainnet_e217614 - capella processRandaoMixesReset 5.7350 us/op 4.1400 us/op 1.39
mainnet_e217614 - capella processHistoricalRootsUpdate 604.00 ns/op 965.00 ns/op 0.63
mainnet_e217614 - capella processParticipationFlagUpdates 3.3780 us/op 1.8390 us/op 1.84
mainnet_e217614 - capella afterProcessEpoch 261.27 ms/op 237.71 ms/op 1.10
phase0 processEpoch - mainnet_e58758 367.75 ms/op 450.52 ms/op 0.82
mainnet_e58758 - phase0 beforeProcessEpoch 82.037 ms/op 80.920 ms/op 1.01
mainnet_e58758 - phase0 processJustificationAndFinalization 23.987 us/op 21.346 us/op 1.12
mainnet_e58758 - phase0 processRewardsAndPenalties 40.485 ms/op 26.241 ms/op 1.54
mainnet_e58758 - phase0 processRegistryUpdates 11.802 us/op 7.8360 us/op 1.51
mainnet_e58758 - phase0 processSlashings 502.00 ns/op 435.00 ns/op 1.15
mainnet_e58758 - phase0 processEth1DataReset 509.00 ns/op 358.00 ns/op 1.42
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.6993 ms/op 1.1592 ms/op 1.47
mainnet_e58758 - phase0 processSlashingsReset 5.0040 us/op 4.6200 us/op 1.08
mainnet_e58758 - phase0 processRandaoMixesReset 7.2060 us/op 6.2170 us/op 1.16
mainnet_e58758 - phase0 processHistoricalRootsUpdate 872.00 ns/op 484.00 ns/op 1.80
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.8750 us/op 4.0770 us/op 1.20
mainnet_e58758 - phase0 afterProcessEpoch 81.976 ms/op 83.954 ms/op 0.98
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.1034 ms/op 1.5922 ms/op 0.69
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.4714 ms/op 2.4097 ms/op 1.03
altair processInactivityUpdates - 250000 normalcase 23.291 ms/op 25.321 ms/op 0.92
altair processInactivityUpdates - 250000 worstcase 24.353 ms/op 25.423 ms/op 0.96
phase0 processRegistryUpdates - 250000 normalcase 9.5830 us/op 15.717 us/op 0.61
phase0 processRegistryUpdates - 250000 badcase_full_deposits 444.01 us/op 453.98 us/op 0.98
phase0 processRegistryUpdates - 250000 worstcase 0.5 132.15 ms/op 161.89 ms/op 0.82
altair processRewardsAndPenalties - 250000 normalcase 50.605 ms/op 55.740 ms/op 0.91
altair processRewardsAndPenalties - 250000 worstcase 53.529 ms/op 57.105 ms/op 0.94
phase0 getAttestationDeltas - 250000 normalcase 7.6150 ms/op 12.480 ms/op 0.61
phase0 getAttestationDeltas - 250000 worstcase 7.6562 ms/op 13.127 ms/op 0.58
phase0 processSlashings - 250000 worstcase 116.03 us/op 143.98 us/op 0.81
altair processSyncCommitteeUpdates - 250000 118.79 ms/op 165.80 ms/op 0.72
BeaconState.hashTreeRoot - No change 336.00 ns/op 558.00 ns/op 0.60
BeaconState.hashTreeRoot - 1 full validator 84.196 us/op 111.06 us/op 0.76
BeaconState.hashTreeRoot - 32 full validator 1.3536 ms/op 929.94 us/op 1.46
BeaconState.hashTreeRoot - 512 full validator 11.455 ms/op 9.7081 ms/op 1.18
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 153.55 us/op 119.61 us/op 1.28
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.3569 ms/op 1.9002 ms/op 1.24
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 26.893 ms/op 21.511 ms/op 1.25
BeaconState.hashTreeRoot - 1 balances 114.17 us/op 90.729 us/op 1.26
BeaconState.hashTreeRoot - 32 balances 1.1336 ms/op 1.3878 ms/op 0.82
BeaconState.hashTreeRoot - 512 balances 10.671 ms/op 11.625 ms/op 0.92
BeaconState.hashTreeRoot - 250000 balances 199.09 ms/op 220.70 ms/op 0.90
aggregationBits - 2048 els - zipIndexesInBitList 23.891 us/op 37.371 us/op 0.64
byteArrayEquals 32 53.905 ns/op 58.457 ns/op 0.92
Buffer.compare 32 16.916 ns/op 20.950 ns/op 0.81
byteArrayEquals 1024 1.6167 us/op 1.7507 us/op 0.92
Buffer.compare 1024 26.024 ns/op 27.108 ns/op 0.96
byteArrayEquals 16384 25.300 us/op 26.255 us/op 0.96
Buffer.compare 16384 205.40 ns/op 210.77 ns/op 0.97
byteArrayEquals 123687377 190.75 ms/op 200.82 ms/op 0.95
Buffer.compare 123687377 6.8558 ms/op 7.2944 ms/op 0.94
byteArrayEquals 32 - diff last byte 52.830 ns/op 54.439 ns/op 0.97
Buffer.compare 32 - diff last byte 17.336 ns/op 18.215 ns/op 0.95
byteArrayEquals 1024 - diff last byte 1.6101 us/op 1.6465 us/op 0.98
Buffer.compare 1024 - diff last byte 25.316 ns/op 27.384 ns/op 0.92
byteArrayEquals 16384 - diff last byte 25.275 us/op 26.013 us/op 0.97
Buffer.compare 16384 - diff last byte 195.91 ns/op 213.11 ns/op 0.92
byteArrayEquals 123687377 - diff last byte 190.66 ms/op 196.35 ms/op 0.97
Buffer.compare 123687377 - diff last byte 7.1735 ms/op 7.4064 ms/op 0.97
byteArrayEquals 32 - random bytes 5.2350 ns/op 5.4380 ns/op 0.96
Buffer.compare 32 - random bytes 17.478 ns/op 17.582 ns/op 0.99
byteArrayEquals 1024 - random bytes 5.2430 ns/op 5.5020 ns/op 0.95
Buffer.compare 1024 - random bytes 17.766 ns/op 17.607 ns/op 1.01
byteArrayEquals 16384 - random bytes 5.2200 ns/op 5.2210 ns/op 1.00
Buffer.compare 16384 - random bytes 17.443 ns/op 17.543 ns/op 0.99
byteArrayEquals 123687377 - random bytes 6.4800 ns/op 6.5300 ns/op 0.99
Buffer.compare 123687377 - random bytes 18.670 ns/op 18.930 ns/op 0.99
regular array get 100000 times 38.014 us/op 32.975 us/op 1.15
wrappedArray get 100000 times 42.765 us/op 32.756 us/op 1.31
arrayWithProxy get 100000 times 13.249 ms/op 13.784 ms/op 0.96
ssz.Root.equals 46.024 ns/op 45.952 ns/op 1.00
byteArrayEquals 45.271 ns/op 45.794 ns/op 0.99
Buffer.compare 10.397 ns/op 10.624 ns/op 0.98
shuffle list - 16384 els 6.3931 ms/op 6.6869 ms/op 0.96
shuffle list - 250000 els 95.511 ms/op 98.577 ms/op 0.97
processSlot - 1 slots 14.577 us/op 17.155 us/op 0.85
processSlot - 32 slots 3.2902 ms/op 3.0575 ms/op 1.08
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 40.127 ms/op 38.304 ms/op 1.05
getCommitteeAssignments - req 1 vs - 250000 vc 2.2256 ms/op 2.2258 ms/op 1.00
getCommitteeAssignments - req 100 vs - 250000 vc 4.3226 ms/op 4.3877 ms/op 0.99
getCommitteeAssignments - req 1000 vs - 250000 vc 4.7234 ms/op 4.7652 ms/op 0.99
findModifiedValidators - 10000 modified validators 287.00 ms/op 303.24 ms/op 0.95
findModifiedValidators - 1000 modified validators 172.92 ms/op 228.13 ms/op 0.76
findModifiedValidators - 100 modified validators 173.69 ms/op 181.95 ms/op 0.95
findModifiedValidators - 10 modified validators 168.11 ms/op 184.47 ms/op 0.91
findModifiedValidators - 1 modified validators 151.62 ms/op 218.30 ms/op 0.69
findModifiedValidators - no difference 176.58 ms/op 247.89 ms/op 0.71
compare ViewDUs 3.1407 s/op 3.7347 s/op 0.84
compare each validator Uint8Array 1.2005 s/op 1.7799 s/op 0.67
compare ViewDU to Uint8Array 1.1085 s/op 1.5443 s/op 0.72
migrate state 1000000 validators, 24 modified, 0 new 582.74 ms/op 831.61 ms/op 0.70
migrate state 1000000 validators, 1700 modified, 1000 new 830.36 ms/op 1.0680 s/op 0.78
migrate state 1000000 validators, 3400 modified, 2000 new 948.39 ms/op 1.2938 s/op 0.73
migrate state 1500000 validators, 24 modified, 0 new 580.93 ms/op 699.75 ms/op 0.83
migrate state 1500000 validators, 1700 modified, 1000 new 810.50 ms/op 909.45 ms/op 0.89
migrate state 1500000 validators, 3400 modified, 2000 new 1.0257 s/op 1.1606 s/op 0.88
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.7300 ns/op 5.2000 ns/op 0.91
state getBlockRootAtSlot - 250000 vs - 7PWei 921.77 ns/op 795.44 ns/op 1.16
computeProposers - vc 250000 9.2932 ms/op 11.623 ms/op 0.80
computeEpochShuffling - vc 250000 95.940 ms/op 107.51 ms/op 0.89
getNextSyncCommittee - vc 250000 125.38 ms/op 159.63 ms/op 0.79
computeSigningRoot for AttestationData 22.743 us/op 31.276 us/op 0.73
hash AttestationData serialized data then Buffer.toString(base64) 1.6450 us/op 1.8995 us/op 0.87
toHexString serialized data 963.88 ns/op 1.1483 us/op 0.84
Buffer.toString(base64) 213.32 ns/op 235.24 ns/op 0.91
block root to RootHex using toHex 170.72 ns/op 175.77 ns/op 0.97
block root to RootHex using toRootHex 106.83 ns/op 104.98 ns/op 1.02

by benchmarkbot/action

@wemeetagain
Copy link
Member

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

3 participants