-
-
Notifications
You must be signed in to change notification settings - Fork 293
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: merge v1.20.0 stable back to unstable #6944
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
nflaig
approved these changes
Jul 11, 2024
|
Benchmark suite | Current: bda4559 | Previous: a0f2dcc | Ratio |
---|---|---|---|
getSlashingsAndExits - default max | 246.21 us/op | 77.876 us/op | 3.16 |
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 4.0831 ms/op | 1.2278 ms/op | 3.33 |
Full benchmark results
Benchmark suite | Current: bda4559 | Previous: a0f2dcc | Ratio |
---|---|---|---|
getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 836.24 us/op | 333.83 us/op | 2.51 |
getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 54.359 us/op | 38.542 us/op | 1.41 |
BLS verify - blst-native | 1.3067 ms/op | 1.1180 ms/op | 1.17 |
BLS verifyMultipleSignatures 3 - blst-native | 2.7109 ms/op | 2.3758 ms/op | 1.14 |
BLS verifyMultipleSignatures 8 - blst-native | 5.9649 ms/op | 5.2450 ms/op | 1.14 |
BLS verifyMultipleSignatures 32 - blst-native | 22.370 ms/op | 19.258 ms/op | 1.16 |
BLS verifyMultipleSignatures 64 - blst-native | 44.094 ms/op | 37.948 ms/op | 1.16 |
BLS verifyMultipleSignatures 128 - blst-native | 86.443 ms/op | 74.981 ms/op | 1.15 |
BLS deserializing 10000 signatures | 909.15 ms/op | 774.75 ms/op | 1.17 |
BLS deserializing 100000 signatures | 10.196 s/op | 7.7045 s/op | 1.32 |
BLS verifyMultipleSignatures - same message - 3 - blst-native | 1.4101 ms/op | 1.1152 ms/op | 1.26 |
BLS verifyMultipleSignatures - same message - 8 - blst-native | 1.6092 ms/op | 1.2237 ms/op | 1.32 |
BLS verifyMultipleSignatures - same message - 32 - blst-native | 3.3828 ms/op | 1.9082 ms/op | 1.77 |
BLS verifyMultipleSignatures - same message - 64 - blst-native | 4.6086 ms/op | 2.8393 ms/op | 1.62 |
BLS verifyMultipleSignatures - same message - 128 - blst-native | 9.4744 ms/op | 6.0110 ms/op | 1.58 |
BLS aggregatePubkeys 32 - blst-native | 34.087 us/op | 22.337 us/op | 1.53 |
BLS aggregatePubkeys 128 - blst-native | 118.22 us/op | 84.895 us/op | 1.39 |
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 | 109.04 ms/op | 52.527 ms/op | 2.08 |
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 | 107.32 ms/op | 42.946 ms/op | 2.50 |
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 | 49.559 ms/op | 27.136 ms/op | 1.83 |
getSlashingsAndExits - default max | 246.21 us/op | 77.876 us/op | 3.16 |
getSlashingsAndExits - 2k | 509.60 us/op | 240.03 us/op | 2.12 |
proposeBlockBody type=full, size=empty | 6.9622 ms/op | 5.1352 ms/op | 1.36 |
isKnown best case - 1 super set check | 616.00 ns/op | 468.00 ns/op | 1.32 |
isKnown normal case - 2 super set checks | 602.00 ns/op | 453.00 ns/op | 1.33 |
isKnown worse case - 16 super set checks | 612.00 ns/op | 451.00 ns/op | 1.36 |
InMemoryCheckpointStateCache - add get delete | 9.6530 us/op | 4.3510 us/op | 2.22 |
validate api signedAggregateAndProof - struct | 3.0118 ms/op | 2.3948 ms/op | 1.26 |
validate gossip signedAggregateAndProof - struct | 3.0919 ms/op | 2.4006 ms/op | 1.29 |
validate gossip attestation - vc 640000 | 1.6475 ms/op | 1.1002 ms/op | 1.50 |
batch validate gossip attestation - vc 640000 - chunk 32 | 221.75 us/op | 129.76 us/op | 1.71 |
batch validate gossip attestation - vc 640000 - chunk 64 | 210.37 us/op | 115.79 us/op | 1.82 |
batch validate gossip attestation - vc 640000 - chunk 128 | 199.86 us/op | 110.80 us/op | 1.80 |
batch validate gossip attestation - vc 640000 - chunk 256 | 171.31 us/op | 103.16 us/op | 1.66 |
pickEth1Vote - no votes | 1.3641 ms/op | 872.36 us/op | 1.56 |
pickEth1Vote - max votes | 17.220 ms/op | 7.3454 ms/op | 2.34 |
pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 18.416 ms/op | 13.872 ms/op | 1.33 |
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 36.682 ms/op | 18.933 ms/op | 1.94 |
pickEth1Vote - Eth1Data fastSerialize value x2048 | 722.19 us/op | 360.15 us/op | 2.01 |
pickEth1Vote - Eth1Data fastSerialize tree x2048 | 6.7765 ms/op | 5.0666 ms/op | 1.34 |
bytes32 toHexString | 856.00 ns/op | 583.00 ns/op | 1.47 |
bytes32 Buffer.toString(hex) | 294.00 ns/op | 424.00 ns/op | 0.69 |
bytes32 Buffer.toString(hex) from Uint8Array | 555.00 ns/op | 512.00 ns/op | 1.08 |
bytes32 Buffer.toString(hex) + 0x | 288.00 ns/op | 418.00 ns/op | 0.69 |
Object access 1 prop | 0.23700 ns/op | 0.31500 ns/op | 0.75 |
Map access 1 prop | 0.28000 ns/op | 0.31600 ns/op | 0.89 |
Object get x1000 | 7.4190 ns/op | 5.1840 ns/op | 1.43 |
Map get x1000 | 8.0200 ns/op | 5.8620 ns/op | 1.37 |
Object set x1000 | 63.323 ns/op | 24.304 ns/op | 2.61 |
Map set x1000 | 43.688 ns/op | 19.475 ns/op | 2.24 |
Return object 10000 times | 0.34900 ns/op | 0.29290 ns/op | 1.19 |
Throw Error 10000 times | 3.9217 us/op | 2.6498 us/op | 1.48 |
fastMsgIdFn sha256 / 200 bytes | 2.6890 us/op | 1.9360 us/op | 1.39 |
fastMsgIdFn h32 xxhash / 200 bytes | 338.00 ns/op | 393.00 ns/op | 0.86 |
fastMsgIdFn h64 xxhash / 200 bytes | 324.00 ns/op | 439.00 ns/op | 0.74 |
fastMsgIdFn sha256 / 1000 bytes | 8.6010 us/op | 5.7640 us/op | 1.49 |
fastMsgIdFn h32 xxhash / 1000 bytes | 488.00 ns/op | 516.00 ns/op | 0.95 |
fastMsgIdFn h64 xxhash / 1000 bytes | 421.00 ns/op | 502.00 ns/op | 0.84 |
fastMsgIdFn sha256 / 10000 bytes | 74.833 us/op | 49.450 us/op | 1.51 |
fastMsgIdFn h32 xxhash / 10000 bytes | 2.1550 us/op | 1.8560 us/op | 1.16 |
fastMsgIdFn h64 xxhash / 10000 bytes | 1.4320 us/op | 1.2990 us/op | 1.10 |
send data - 1000 256B messages | 20.845 ms/op | 9.6059 ms/op | 2.17 |
send data - 1000 512B messages | 22.049 ms/op | 12.755 ms/op | 1.73 |
send data - 1000 1024B messages | 40.596 ms/op | 22.952 ms/op | 1.77 |
send data - 1000 1200B messages | 35.857 ms/op | 24.433 ms/op | 1.47 |
send data - 1000 2048B messages | 44.345 ms/op | 29.176 ms/op | 1.52 |
send data - 1000 4096B messages | 50.570 ms/op | 26.046 ms/op | 1.94 |
send data - 1000 16384B messages | 102.29 ms/op | 66.933 ms/op | 1.53 |
send data - 1000 65536B messages | 287.04 ms/op | 238.30 ms/op | 1.20 |
enrSubnets - fastDeserialize 64 bits | 1.5400 us/op | 1.0370 us/op | 1.49 |
enrSubnets - ssz BitVector 64 bits | 484.00 ns/op | 493.00 ns/op | 0.98 |
enrSubnets - fastDeserialize 4 bits | 213.00 ns/op | 311.00 ns/op | 0.68 |
enrSubnets - ssz BitVector 4 bits | 485.00 ns/op | 496.00 ns/op | 0.98 |
prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 204.11 us/op | 134.03 us/op | 1.52 |
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 195.27 us/op | 149.38 us/op | 1.31 |
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 393.48 us/op | 305.31 us/op | 1.29 |
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 523.21 us/op | 536.90 us/op | 0.97 |
prioritizePeers score 0:0 att 64-1 sync 4-1 | 933.71 us/op | 548.97 us/op | 1.70 |
array of 16000 items push then shift | 1.7159 us/op | 1.2875 us/op | 1.33 |
LinkedList of 16000 items push then shift | 7.9210 ns/op | 6.4380 ns/op | 1.23 |
array of 16000 items push then pop | 136.12 ns/op | 76.635 ns/op | 1.78 |
LinkedList of 16000 items push then pop | 7.7070 ns/op | 6.3220 ns/op | 1.22 |
array of 24000 items push then shift | 2.5749 us/op | 1.8862 us/op | 1.37 |
LinkedList of 24000 items push then shift | 8.1850 ns/op | 6.2870 ns/op | 1.30 |
array of 24000 items push then pop | 157.65 ns/op | 105.81 ns/op | 1.49 |
LinkedList of 24000 items push then pop | 7.7750 ns/op | 6.1870 ns/op | 1.26 |
intersect bitArray bitLen 8 | 6.7290 ns/op | 5.3870 ns/op | 1.25 |
intersect array and set length 8 | 49.108 ns/op | 37.889 ns/op | 1.30 |
intersect bitArray bitLen 128 | 30.898 ns/op | 26.502 ns/op | 1.17 |
intersect array and set length 128 | 723.04 ns/op | 573.31 ns/op | 1.26 |
bitArray.getTrueBitIndexes() bitLen 128 | 2.4310 us/op | 2.0840 us/op | 1.17 |
bitArray.getTrueBitIndexes() bitLen 248 | 3.7540 us/op | 3.0540 us/op | 1.23 |
bitArray.getTrueBitIndexes() bitLen 512 | 7.8280 us/op | 6.3870 us/op | 1.23 |
Buffer.concat 32 items | 960.00 ns/op | 1.0170 us/op | 0.94 |
Uint8Array.set 32 items | 1.6230 us/op | 1.6260 us/op | 1.00 |
Buffer.copy | 1.7450 us/op | 1.7750 us/op | 0.98 |
Uint8Array.set - with subarray | 2.6800 us/op | 2.3610 us/op | 1.14 |
Uint8Array.set - without subarray | 1.3780 us/op | 1.6040 us/op | 0.86 |
getUint32 - dataview | 244.00 ns/op | 394.00 ns/op | 0.62 |
getUint32 - manual | 171.00 ns/op | 332.00 ns/op | 0.52 |
Set add up to 64 items then delete first | 2.3028 us/op | 1.7827 us/op | 1.29 |
OrderedSet add up to 64 items then delete first | 3.3891 us/op | 2.7903 us/op | 1.21 |
Set add up to 64 items then delete last | 2.5100 us/op | 2.0359 us/op | 1.23 |
OrderedSet add up to 64 items then delete last | 3.7073 us/op | 3.0590 us/op | 1.21 |
Set add up to 64 items then delete middle | 2.5355 us/op | 2.0374 us/op | 1.24 |
OrderedSet add up to 64 items then delete middle | 5.3908 us/op | 4.4585 us/op | 1.21 |
Set add up to 128 items then delete first | 5.2548 us/op | 4.0228 us/op | 1.31 |
OrderedSet add up to 128 items then delete first | 7.9346 us/op | 6.2725 us/op | 1.26 |
Set add up to 128 items then delete last | 5.0011 us/op | 3.8838 us/op | 1.29 |
OrderedSet add up to 128 items then delete last | 7.4487 us/op | 5.9087 us/op | 1.26 |
Set add up to 128 items then delete middle | 5.5313 us/op | 3.8911 us/op | 1.42 |
OrderedSet add up to 128 items then delete middle | 15.521 us/op | 11.394 us/op | 1.36 |
Set add up to 256 items then delete first | 13.397 us/op | 7.8268 us/op | 1.71 |
OrderedSet add up to 256 items then delete first | 17.416 us/op | 12.410 us/op | 1.40 |
Set add up to 256 items then delete last | 10.589 us/op | 7.6382 us/op | 1.39 |
OrderedSet add up to 256 items then delete last | 15.411 us/op | 11.726 us/op | 1.31 |
Set add up to 256 items then delete middle | 10.215 us/op | 7.5964 us/op | 1.34 |
OrderedSet add up to 256 items then delete middle | 43.473 us/op | 34.089 us/op | 1.28 |
transfer serialized Status (84 B) | 1.3710 us/op | 1.4500 us/op | 0.95 |
copy serialized Status (84 B) | 1.1200 us/op | 1.1690 us/op | 0.96 |
transfer serialized SignedVoluntaryExit (112 B) | 1.4570 us/op | 1.5630 us/op | 0.93 |
copy serialized SignedVoluntaryExit (112 B) | 1.1830 us/op | 1.3120 us/op | 0.90 |
transfer serialized ProposerSlashing (416 B) | 2.5900 us/op | 2.4740 us/op | 1.05 |
copy serialized ProposerSlashing (416 B) | 2.9150 us/op | 1.7530 us/op | 1.66 |
transfer serialized Attestation (485 B) | 2.9190 us/op | 1.6730 us/op | 1.74 |
copy serialized Attestation (485 B) | 2.9370 us/op | 1.6190 us/op | 1.81 |
transfer serialized AttesterSlashing (33232 B) | 3.2020 us/op | 2.1100 us/op | 1.52 |
copy serialized AttesterSlashing (33232 B) | 9.1890 us/op | 4.2890 us/op | 2.14 |
transfer serialized Small SignedBeaconBlock (128000 B) | 3.7650 us/op | 2.9480 us/op | 1.28 |
copy serialized Small SignedBeaconBlock (128000 B) | 22.593 us/op | 10.086 us/op | 2.24 |
transfer serialized Avg SignedBeaconBlock (200000 B) | 4.3830 us/op | 3.1980 us/op | 1.37 |
copy serialized Avg SignedBeaconBlock (200000 B) | 31.186 us/op | 13.937 us/op | 2.24 |
transfer serialized BlobsSidecar (524380 B) | 4.9470 us/op | 3.2690 us/op | 1.51 |
copy serialized BlobsSidecar (524380 B) | 93.177 us/op | 74.401 us/op | 1.25 |
transfer serialized Big SignedBeaconBlock (1000000 B) | 4.7000 us/op | 3.4420 us/op | 1.37 |
copy serialized Big SignedBeaconBlock (1000000 B) | 169.76 us/op | 139.28 us/op | 1.22 |
pass gossip attestations to forkchoice per slot | 3.7170 ms/op | 2.7808 ms/op | 1.34 |
forkChoice updateHead vc 100000 bc 64 eq 0 | 547.43 us/op | 511.49 us/op | 1.07 |
forkChoice updateHead vc 600000 bc 64 eq 0 | 4.0894 ms/op | 2.5395 ms/op | 1.61 |
forkChoice updateHead vc 1000000 bc 64 eq 0 | 7.0183 ms/op | 4.1115 ms/op | 1.71 |
forkChoice updateHead vc 600000 bc 320 eq 0 | 4.2230 ms/op | 2.5706 ms/op | 1.64 |
forkChoice updateHead vc 600000 bc 1200 eq 0 | 3.9505 ms/op | 3.1391 ms/op | 1.26 |
forkChoice updateHead vc 600000 bc 7200 eq 0 | 4.9562 ms/op | 2.7453 ms/op | 1.81 |
forkChoice updateHead vc 600000 bc 64 eq 1000 | 11.693 ms/op | 9.0484 ms/op | 1.29 |
forkChoice updateHead vc 600000 bc 64 eq 10000 | 12.674 ms/op | 8.8572 ms/op | 1.43 |
forkChoice updateHead vc 600000 bc 64 eq 300000 | 25.696 ms/op | 11.464 ms/op | 2.24 |
computeDeltas 500000 validators 300 proto nodes | 4.4276 ms/op | 2.8606 ms/op | 1.55 |
computeDeltas 500000 validators 1200 proto nodes | 4.4870 ms/op | 2.9501 ms/op | 1.52 |
computeDeltas 500000 validators 7200 proto nodes | 4.4794 ms/op | 2.9042 ms/op | 1.54 |
computeDeltas 750000 validators 300 proto nodes | 6.8164 ms/op | 4.4875 ms/op | 1.52 |
computeDeltas 750000 validators 1200 proto nodes | 6.9669 ms/op | 4.4380 ms/op | 1.57 |
computeDeltas 750000 validators 7200 proto nodes | 7.2217 ms/op | 4.4036 ms/op | 1.64 |
computeDeltas 1400000 validators 300 proto nodes | 12.012 ms/op | 8.1894 ms/op | 1.47 |
computeDeltas 1400000 validators 1200 proto nodes | 12.460 ms/op | 8.1267 ms/op | 1.53 |
computeDeltas 1400000 validators 7200 proto nodes | 11.884 ms/op | 8.1270 ms/op | 1.46 |
computeDeltas 2100000 validators 300 proto nodes | 18.124 ms/op | 12.149 ms/op | 1.49 |
computeDeltas 2100000 validators 1200 proto nodes | 18.435 ms/op | 12.312 ms/op | 1.50 |
computeDeltas 2100000 validators 7200 proto nodes | 17.381 ms/op | 12.379 ms/op | 1.40 |
altair processAttestation - 250000 vs - 7PWei normalcase | 2.1096 ms/op | 1.4885 ms/op | 1.42 |
altair processAttestation - 250000 vs - 7PWei worstcase | 3.1964 ms/op | 2.2184 ms/op | 1.44 |
altair processAttestation - setStatus - 1/6 committees join | 119.17 us/op | 97.631 us/op | 1.22 |
altair processAttestation - setStatus - 1/3 committees join | 211.25 us/op | 188.35 us/op | 1.12 |
altair processAttestation - setStatus - 1/2 committees join | 281.93 us/op | 269.07 us/op | 1.05 |
altair processAttestation - setStatus - 2/3 committees join | 422.32 us/op | 340.74 us/op | 1.24 |
altair processAttestation - setStatus - 4/5 committees join | 520.12 us/op | 466.05 us/op | 1.12 |
altair processAttestation - setStatus - 100% committees join | 648.00 us/op | 567.92 us/op | 1.14 |
altair processBlock - 250000 vs - 7PWei normalcase | 5.5967 ms/op | 4.3276 ms/op | 1.29 |
altair processBlock - 250000 vs - 7PWei normalcase hashState | 30.314 ms/op | 22.562 ms/op | 1.34 |
altair processBlock - 250000 vs - 7PWei worstcase | 48.281 ms/op | 40.286 ms/op | 1.20 |
altair processBlock - 250000 vs - 7PWei worstcase hashState | 88.168 ms/op | 77.789 ms/op | 1.13 |
phase0 processBlock - 250000 vs - 7PWei normalcase | 3.1310 ms/op | 1.7120 ms/op | 1.83 |
phase0 processBlock - 250000 vs - 7PWei worstcase | 30.080 ms/op | 23.913 ms/op | 1.26 |
altair processEth1Data - 250000 vs - 7PWei normalcase | 361.13 us/op | 245.58 us/op | 1.47 |
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 7.1240 us/op | 4.7880 us/op | 1.49 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 28.570 us/op | 18.419 us/op | 1.55 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 13.114 us/op | 6.6940 us/op | 1.96 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 10.010 us/op | 4.5880 us/op | 2.18 |
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 123.20 us/op | 78.546 us/op | 1.57 |
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 1.0152 ms/op | 825.70 us/op | 1.23 |
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 1.1699 ms/op | 612.83 us/op | 1.91 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 1.1043 ms/op | 652.48 us/op | 1.69 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 2.6763 ms/op | 2.0458 ms/op | 1.31 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 2.0997 ms/op | 1.0907 ms/op | 1.93 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 7.2672 ms/op | 2.9373 ms/op | 2.47 |
Tree 40 250000 create | 376.19 ms/op | 175.44 ms/op | 2.14 |
Tree 40 250000 get(125000) | 178.59 ns/op | 108.94 ns/op | 1.64 |
Tree 40 250000 set(125000) | 912.04 ns/op | 551.94 ns/op | 1.65 |
Tree 40 250000 toArray() | 23.615 ms/op | 12.690 ms/op | 1.86 |
Tree 40 250000 iterate all - toArray() + loop | 22.983 ms/op | 13.432 ms/op | 1.71 |
Tree 40 250000 iterate all - get(i) | 66.304 ms/op | 40.687 ms/op | 1.63 |
MutableVector 250000 create | 12.565 ms/op | 8.2783 ms/op | 1.52 |
MutableVector 250000 get(125000) | 6.7150 ns/op | 5.9000 ns/op | 1.14 |
MutableVector 250000 set(125000) | 324.80 ns/op | 166.01 ns/op | 1.96 |
MutableVector 250000 toArray() | 5.5399 ms/op | 2.7851 ms/op | 1.99 |
MutableVector 250000 iterate all - toArray() + loop | 6.0968 ms/op | 2.9205 ms/op | 2.09 |
MutableVector 250000 iterate all - get(i) | 1.9774 ms/op | 1.3804 ms/op | 1.43 |
Array 250000 create | 3.9158 ms/op | 2.4174 ms/op | 1.62 |
Array 250000 clone - spread | 2.1678 ms/op | 1.2421 ms/op | 1.75 |
Array 250000 get(125000) | 0.49700 ns/op | 0.57400 ns/op | 0.87 |
Array 250000 set(125000) | 0.52300 ns/op | 0.58100 ns/op | 0.90 |
Array 250000 iterate all - loop | 120.04 us/op | 75.353 us/op | 1.59 |
effectiveBalanceIncrements clone Uint8Array 300000 | 78.691 us/op | 20.838 us/op | 3.78 |
effectiveBalanceIncrements clone MutableVector 300000 | 149.00 ns/op | 306.00 ns/op | 0.49 |
effectiveBalanceIncrements rw all Uint8Array 300000 | 222.51 us/op | 163.51 us/op | 1.36 |
effectiveBalanceIncrements rw all MutableVector 300000 | 130.72 ms/op | 53.347 ms/op | 2.45 |
phase0 afterProcessEpoch - 250000 vs - 7PWei | 98.012 ms/op | 72.198 ms/op | 1.36 |
phase0 beforeProcessEpoch - 250000 vs - 7PWei | 48.056 ms/op | 33.684 ms/op | 1.43 |
altair processEpoch - mainnet_e81889 | 419.59 ms/op | 352.74 ms/op | 1.19 |
mainnet_e81889 - altair beforeProcessEpoch | 71.892 ms/op | 34.829 ms/op | 2.06 |
mainnet_e81889 - altair processJustificationAndFinalization | 16.073 us/op | 15.671 us/op | 1.03 |
mainnet_e81889 - altair processInactivityUpdates | 7.5110 ms/op | 5.7345 ms/op | 1.31 |
mainnet_e81889 - altair processRewardsAndPenalties | 47.936 ms/op | 50.018 ms/op | 0.96 |
mainnet_e81889 - altair processRegistryUpdates | 3.5860 us/op | 2.5760 us/op | 1.39 |
mainnet_e81889 - altair processSlashings | 457.00 ns/op | 737.00 ns/op | 0.62 |
mainnet_e81889 - altair processEth1DataReset | 589.00 ns/op | 436.00 ns/op | 1.35 |
mainnet_e81889 - altair processEffectiveBalanceUpdates | 1.5154 ms/op | 798.28 us/op | 1.90 |
mainnet_e81889 - altair processSlashingsReset | 8.4720 us/op | 3.5180 us/op | 2.41 |
mainnet_e81889 - altair processRandaoMixesReset | 11.102 us/op | 3.3820 us/op | 3.28 |
mainnet_e81889 - altair processHistoricalRootsUpdate | 827.00 ns/op | 724.00 ns/op | 1.14 |
mainnet_e81889 - altair processParticipationFlagUpdates | 3.1760 us/op | 2.2150 us/op | 1.43 |
mainnet_e81889 - altair processSyncCommitteeUpdates | 874.00 ns/op | 877.00 ns/op | 1.00 |
mainnet_e81889 - altair afterProcessEpoch | 103.05 ms/op | 77.110 ms/op | 1.34 |
capella processEpoch - mainnet_e217614 | 1.5217 s/op | 1.1188 s/op | 1.36 |
mainnet_e217614 - capella beforeProcessEpoch | 323.98 ms/op | 231.70 ms/op | 1.40 |
mainnet_e217614 - capella processJustificationAndFinalization | 28.151 us/op | 12.360 us/op | 2.28 |
mainnet_e217614 - capella processInactivityUpdates | 20.411 ms/op | 16.786 ms/op | 1.22 |
mainnet_e217614 - capella processRewardsAndPenalties | 259.99 ms/op | 256.24 ms/op | 1.01 |
mainnet_e217614 - capella processRegistryUpdates | 26.423 us/op | 11.619 us/op | 2.27 |
mainnet_e217614 - capella processSlashings | 1.2640 us/op | 712.00 ns/op | 1.78 |
mainnet_e217614 - capella processEth1DataReset | 718.00 ns/op | 693.00 ns/op | 1.04 |
mainnet_e217614 - capella processEffectiveBalanceUpdates | 6.4897 ms/op | 3.9939 ms/op | 1.62 |
mainnet_e217614 - capella processSlashingsReset | 7.6730 us/op | 2.7280 us/op | 2.81 |
mainnet_e217614 - capella processRandaoMixesReset | 9.4950 us/op | 3.0750 us/op | 3.09 |
mainnet_e217614 - capella processHistoricalRootsUpdate | 1.1140 us/op | 698.00 ns/op | 1.60 |
mainnet_e217614 - capella processParticipationFlagUpdates | 4.9630 us/op | 1.7600 us/op | 2.82 |
mainnet_e217614 - capella afterProcessEpoch | 306.38 ms/op | 240.65 ms/op | 1.27 |
phase0 processEpoch - mainnet_e58758 | 394.07 ms/op | 335.21 ms/op | 1.18 |
mainnet_e58758 - phase0 beforeProcessEpoch | 125.51 ms/op | 96.080 ms/op | 1.31 |
mainnet_e58758 - phase0 processJustificationAndFinalization | 16.712 us/op | 10.979 us/op | 1.52 |
mainnet_e58758 - phase0 processRewardsAndPenalties | 34.542 ms/op | 31.040 ms/op | 1.11 |
mainnet_e58758 - phase0 processRegistryUpdates | 7.6480 us/op | 6.4960 us/op | 1.18 |
mainnet_e58758 - phase0 processSlashings | 415.00 ns/op | 790.00 ns/op | 0.53 |
mainnet_e58758 - phase0 processEth1DataReset | 385.00 ns/op | 676.00 ns/op | 0.57 |
mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 1.7263 ms/op | 1.0806 ms/op | 1.60 |
mainnet_e58758 - phase0 processSlashingsReset | 3.5880 us/op | 3.2840 us/op | 1.09 |
mainnet_e58758 - phase0 processRandaoMixesReset | 5.2420 us/op | 2.9730 us/op | 1.76 |
mainnet_e58758 - phase0 processHistoricalRootsUpdate | 942.00 ns/op | 752.00 ns/op | 1.25 |
mainnet_e58758 - phase0 processParticipationRecordUpdates | 7.3270 us/op | 5.0420 us/op | 1.45 |
mainnet_e58758 - phase0 afterProcessEpoch | 83.603 ms/op | 65.351 ms/op | 1.28 |
phase0 processEffectiveBalanceUpdates - 250000 normalcase | 1.9965 ms/op | 903.29 us/op | 2.21 |
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 4.0831 ms/op | 1.2278 ms/op | 3.33 |
altair processInactivityUpdates - 250000 normalcase | 24.699 ms/op | 16.019 ms/op | 1.54 |
altair processInactivityUpdates - 250000 worstcase | 25.602 ms/op | 17.255 ms/op | 1.48 |
phase0 processRegistryUpdates - 250000 normalcase | 11.436 us/op | 5.2270 us/op | 2.19 |
phase0 processRegistryUpdates - 250000 badcase_full_deposits | 392.77 us/op | 294.82 us/op | 1.33 |
phase0 processRegistryUpdates - 250000 worstcase 0.5 | 149.23 ms/op | 113.47 ms/op | 1.32 |
altair processRewardsAndPenalties - 250000 normalcase | 51.741 ms/op | 34.763 ms/op | 1.49 |
altair processRewardsAndPenalties - 250000 worstcase | 50.919 ms/op | 39.915 ms/op | 1.28 |
phase0 getAttestationDeltas - 250000 normalcase | 11.553 ms/op | 5.5304 ms/op | 2.09 |
phase0 getAttestationDeltas - 250000 worstcase | 12.269 ms/op | 6.0621 ms/op | 2.02 |
phase0 processSlashings - 250000 worstcase | 137.07 us/op | 82.771 us/op | 1.66 |
altair processSyncCommitteeUpdates - 250000 | 168.33 ms/op | 104.12 ms/op | 1.62 |
BeaconState.hashTreeRoot - No change | 579.00 ns/op | 473.00 ns/op | 1.22 |
BeaconState.hashTreeRoot - 1 full validator | 137.16 us/op | 110.47 us/op | 1.24 |
BeaconState.hashTreeRoot - 32 full validator | 1.3322 ms/op | 1.1670 ms/op | 1.14 |
BeaconState.hashTreeRoot - 512 full validator | 20.294 ms/op | 9.9356 ms/op | 2.04 |
BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 199.49 us/op | 144.65 us/op | 1.38 |
BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 2.7173 ms/op | 1.9193 ms/op | 1.42 |
BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 38.437 ms/op | 25.057 ms/op | 1.53 |
BeaconState.hashTreeRoot - 1 balances | 127.98 us/op | 109.79 us/op | 1.17 |
BeaconState.hashTreeRoot - 32 balances | 1.2634 ms/op | 1.0692 ms/op | 1.18 |
BeaconState.hashTreeRoot - 512 balances | 13.607 ms/op | 8.9284 ms/op | 1.52 |
BeaconState.hashTreeRoot - 250000 balances | 234.78 ms/op | 177.84 ms/op | 1.32 |
aggregationBits - 2048 els - zipIndexesInBitList | 39.559 us/op | 18.890 us/op | 2.09 |
byteArrayEquals 32 | 60.230 ns/op | 46.875 ns/op | 1.28 |
Buffer.compare 32 | 19.480 ns/op | 17.075 ns/op | 1.14 |
byteArrayEquals 1024 | 1.7897 us/op | 1.2534 us/op | 1.43 |
Buffer.compare 1024 | 27.396 ns/op | 24.781 ns/op | 1.11 |
byteArrayEquals 16384 | 27.886 us/op | 19.933 us/op | 1.40 |
Buffer.compare 16384 | 226.16 ns/op | 194.31 ns/op | 1.16 |
byteArrayEquals 123687377 | 210.83 ms/op | 148.80 ms/op | 1.42 |
Buffer.compare 123687377 | 9.9052 ms/op | 5.3667 ms/op | 1.85 |
byteArrayEquals 32 - diff last byte | 63.469 ns/op | 46.596 ns/op | 1.36 |
Buffer.compare 32 - diff last byte | 19.563 ns/op | 16.421 ns/op | 1.19 |
byteArrayEquals 1024 - diff last byte | 1.7609 us/op | 1.2437 us/op | 1.42 |
Buffer.compare 1024 - diff last byte | 29.388 ns/op | 23.094 ns/op | 1.27 |
byteArrayEquals 16384 - diff last byte | 29.890 us/op | 19.699 us/op | 1.52 |
Buffer.compare 16384 - diff last byte | 222.09 ns/op | 189.92 ns/op | 1.17 |
byteArrayEquals 123687377 - diff last byte | 205.87 ms/op | 149.77 ms/op | 1.37 |
Buffer.compare 123687377 - diff last byte | 8.5854 ms/op | 4.3229 ms/op | 1.99 |
byteArrayEquals 32 - random bytes | 5.5400 ns/op | 4.7190 ns/op | 1.17 |
Buffer.compare 32 - random bytes | 19.391 ns/op | 14.699 ns/op | 1.32 |
byteArrayEquals 1024 - random bytes | 5.4950 ns/op | 4.7340 ns/op | 1.16 |
Buffer.compare 1024 - random bytes | 18.358 ns/op | 15.918 ns/op | 1.15 |
byteArrayEquals 16384 - random bytes | 5.3960 ns/op | 4.7200 ns/op | 1.14 |
Buffer.compare 16384 - random bytes | 18.444 ns/op | 14.810 ns/op | 1.25 |
byteArrayEquals 123687377 - random bytes | 6.9100 ns/op | 8.5900 ns/op | 0.80 |
Buffer.compare 123687377 - random bytes | 20.400 ns/op | 17.760 ns/op | 1.15 |
regular array get 100000 times | 43.135 us/op | 29.643 us/op | 1.46 |
wrappedArray get 100000 times | 34.881 us/op | 31.595 us/op | 1.10 |
arrayWithProxy get 100000 times | 14.983 ms/op | 10.963 ms/op | 1.37 |
ssz.Root.equals | 48.792 ns/op | 43.926 ns/op | 1.11 |
byteArrayEquals | 48.437 ns/op | 43.420 ns/op | 1.12 |
Buffer.compare | 11.182 ns/op | 9.4310 ns/op | 1.19 |
shuffle list - 16384 els | 6.9052 ms/op | 5.4133 ms/op | 1.28 |
shuffle list - 250000 els | 98.331 ms/op | 79.489 ms/op | 1.24 |
processSlot - 1 slots | 14.670 us/op | 13.675 us/op | 1.07 |
processSlot - 32 slots | 3.3678 ms/op | 2.1741 ms/op | 1.55 |
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 39.842 ms/op | 37.609 ms/op | 1.06 |
getCommitteeAssignments - req 1 vs - 250000 vc | 2.2675 ms/op | 1.7236 ms/op | 1.32 |
getCommitteeAssignments - req 100 vs - 250000 vc | 4.4078 ms/op | 3.3669 ms/op | 1.31 |
getCommitteeAssignments - req 1000 vs - 250000 vc | 4.8589 ms/op | 3.6808 ms/op | 1.32 |
findModifiedValidators - 10000 modified validators | 290.76 ms/op | 234.61 ms/op | 1.24 |
findModifiedValidators - 1000 modified validators | 185.88 ms/op | 191.60 ms/op | 0.97 |
findModifiedValidators - 100 modified validators | 214.08 ms/op | 179.61 ms/op | 1.19 |
findModifiedValidators - 10 modified validators | 199.01 ms/op | 146.62 ms/op | 1.36 |
findModifiedValidators - 1 modified validators | 216.83 ms/op | 174.67 ms/op | 1.24 |
findModifiedValidators - no difference | 218.00 ms/op | 146.77 ms/op | 1.49 |
compare ViewDUs | 3.4032 s/op | 3.3955 s/op | 1.00 |
compare each validator Uint8Array | 1.5120 s/op | 1.5258 s/op | 0.99 |
compare ViewDU to Uint8Array | 1.2374 s/op | 743.35 ms/op | 1.66 |
migrate state 1000000 validators, 24 modified, 0 new | 606.36 ms/op | 521.49 ms/op | 1.16 |
migrate state 1000000 validators, 1700 modified, 1000 new | 948.60 ms/op | 731.50 ms/op | 1.30 |
migrate state 1000000 validators, 3400 modified, 2000 new | 1.4364 s/op | 979.55 ms/op | 1.47 |
migrate state 1500000 validators, 24 modified, 0 new | 744.05 ms/op | 482.79 ms/op | 1.54 |
migrate state 1500000 validators, 1700 modified, 1000 new | 1.0039 s/op | 804.16 ms/op | 1.25 |
migrate state 1500000 validators, 3400 modified, 2000 new | 1.4150 s/op | 1.0293 s/op | 1.37 |
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 5.6500 ns/op | 5.9600 ns/op | 0.95 |
state getBlockRootAtSlot - 250000 vs - 7PWei | 863.33 ns/op | 667.30 ns/op | 1.29 |
computeProposers - vc 250000 | 9.4515 ms/op | 5.4312 ms/op | 1.74 |
computeEpochShuffling - vc 250000 | 109.84 ms/op | 81.169 ms/op | 1.35 |
getNextSyncCommittee - vc 250000 | 172.39 ms/op | 88.398 ms/op | 1.95 |
computeSigningRoot for AttestationData | 29.269 us/op | 18.064 us/op | 1.62 |
hash AttestationData serialized data then Buffer.toString(base64) | 1.8882 us/op | 1.1510 us/op | 1.64 |
toHexString serialized data | 1.6291 us/op | 757.61 ns/op | 2.15 |
Buffer.toString(base64) | 259.49 ns/op | 135.15 ns/op | 1.92 |
by benchmarkbot/action
🎉 This PR is included in v1.21.0 🎉 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As per
release.md
, merging v1.20.0stable
back tounstable
.