-
-
Notifications
You must be signed in to change notification settings - Fork 289
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
test: migrate utils tests to vitest #6225
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## unstable #6225 +/- ##
=========================================
Coverage 84.46% 84.46%
=========================================
Files 177 177
Lines 14913 14913
Branches 909 909
=========================================
Hits 12596 12596
Misses 2294 2294
Partials 23 23 |
Any value greater than the timeout value will have worked fine. |
|
Benchmark suite | Current: de5f242 | Previous: 2530fae | Ratio |
---|---|---|---|
Map set x1000 | 59.919 ns/op | 17.542 ns/op | 3.42 |
Set add up to 128 items then delete last | 11.329 us/op | 3.7722 us/op | 3.00 |
Set add up to 256 items then delete last | 22.437 us/op | 7.4153 us/op | 3.03 |
Full benchmark results
Benchmark suite | Current: de5f242 | Previous: 2530fae | Ratio |
---|---|---|---|
getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 711.88 us/op | 391.97 us/op | 1.82 |
getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 149.22 us/op | 56.089 us/op | 2.66 |
BLS verify - blst-native | 1.3786 ms/op | 1.1020 ms/op | 1.25 |
BLS verifyMultipleSignatures 3 - blst-native | 3.0091 ms/op | 2.2812 ms/op | 1.32 |
BLS verifyMultipleSignatures 8 - blst-native | 6.4605 ms/op | 5.0032 ms/op | 1.29 |
BLS verifyMultipleSignatures 32 - blst-native | 23.082 ms/op | 18.692 ms/op | 1.23 |
BLS verifyMultipleSignatures 64 - blst-native | 45.336 ms/op | 36.461 ms/op | 1.24 |
BLS verifyMultipleSignatures 128 - blst-native | 90.123 ms/op | 75.582 ms/op | 1.19 |
BLS deserializing 10000 signatures | 987.28 ms/op | 790.63 ms/op | 1.25 |
BLS deserializing 100000 signatures | 9.1837 s/op | 8.0558 s/op | 1.14 |
BLS verifyMultipleSignatures - same message - 3 - blst-native | 1.4438 ms/op | 1.1746 ms/op | 1.23 |
BLS verifyMultipleSignatures - same message - 8 - blst-native | 1.5954 ms/op | 1.3177 ms/op | 1.21 |
BLS verifyMultipleSignatures - same message - 32 - blst-native | 2.3876 ms/op | 2.1175 ms/op | 1.13 |
BLS verifyMultipleSignatures - same message - 64 - blst-native | 3.5290 ms/op | 3.2463 ms/op | 1.09 |
BLS verifyMultipleSignatures - same message - 128 - blst-native | 5.7824 ms/op | 6.8566 ms/op | 0.84 |
BLS aggregatePubkeys 32 - blst-native | 27.178 us/op | 23.949 us/op | 1.13 |
BLS aggregatePubkeys 128 - blst-native | 105.06 us/op | 85.627 us/op | 1.23 |
getAttestationsForBlock | 55.070 ms/op | 39.689 ms/op | 1.39 |
getSlashingsAndExits - default max | 238.18 us/op | 94.766 us/op | 2.51 |
getSlashingsAndExits - 2k | 397.96 us/op | 402.02 us/op | 0.99 |
proposeBlockBody type=full, size=empty | 6.4318 ms/op | 4.0703 ms/op | 1.58 |
isKnown best case - 1 super set check | 569.00 ns/op | 331.00 ns/op | 1.72 |
isKnown normal case - 2 super set checks | 591.00 ns/op | 321.00 ns/op | 1.84 |
isKnown worse case - 16 super set checks | 565.00 ns/op | 331.00 ns/op | 1.71 |
CheckpointStateCache - add get delete | 7.4130 us/op | 3.6920 us/op | 2.01 |
validate api signedAggregateAndProof - struct | 2.9979 ms/op | 2.5660 ms/op | 1.17 |
validate gossip signedAggregateAndProof - struct | 2.9518 ms/op | 2.5464 ms/op | 1.16 |
validate gossip attestation - vc 640000 | 1.4143 ms/op | 1.1868 ms/op | 1.19 |
batch validate gossip attestation - vc 640000 - chunk 32 | 176.36 us/op | 146.65 us/op | 1.20 |
batch validate gossip attestation - vc 640000 - chunk 64 | 155.86 us/op | 124.32 us/op | 1.25 |
batch validate gossip attestation - vc 640000 - chunk 128 | 144.98 us/op | 118.70 us/op | 1.22 |
batch validate gossip attestation - vc 640000 - chunk 256 | 154.32 us/op | 113.37 us/op | 1.36 |
pickEth1Vote - no votes | 1.5998 ms/op | 924.25 us/op | 1.73 |
pickEth1Vote - max votes | 16.486 ms/op | 13.091 ms/op | 1.26 |
pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 25.113 ms/op | 23.765 ms/op | 1.06 |
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 44.957 ms/op | 23.761 ms/op | 1.89 |
pickEth1Vote - Eth1Data fastSerialize value x2048 | 946.17 us/op | 513.03 us/op | 1.84 |
pickEth1Vote - Eth1Data fastSerialize tree x2048 | 9.1392 ms/op | 4.4490 ms/op | 2.05 |
bytes32 toHexString | 1.0460 us/op | 670.00 ns/op | 1.56 |
bytes32 Buffer.toString(hex) | 364.00 ns/op | 354.00 ns/op | 1.03 |
bytes32 Buffer.toString(hex) from Uint8Array | 718.00 ns/op | 520.00 ns/op | 1.38 |
bytes32 Buffer.toString(hex) + 0x | 346.00 ns/op | 321.00 ns/op | 1.08 |
Object access 1 prop | 0.23400 ns/op | 0.21000 ns/op | 1.11 |
Map access 1 prop | 0.15900 ns/op | 0.20100 ns/op | 0.79 |
Object get x1000 | 9.8470 ns/op | 5.8160 ns/op | 1.69 |
Map get x1000 | 0.94300 ns/op | 0.73300 ns/op | 1.29 |
Object set x1000 | 82.757 ns/op | 28.161 ns/op | 2.94 |
Map set x1000 | 59.919 ns/op | 17.542 ns/op | 3.42 |
Return object 10000 times | 0.26910 ns/op | 0.22640 ns/op | 1.19 |
Throw Error 10000 times | 4.3952 us/op | 2.7868 us/op | 1.58 |
fastMsgIdFn sha256 / 200 bytes | 3.6140 us/op | 1.9390 us/op | 1.86 |
fastMsgIdFn h32 xxhash / 200 bytes | 398.00 ns/op | 299.00 ns/op | 1.33 |
fastMsgIdFn h64 xxhash / 200 bytes | 451.00 ns/op | 344.00 ns/op | 1.31 |
fastMsgIdFn sha256 / 1000 bytes | 12.349 us/op | 6.2100 us/op | 1.99 |
fastMsgIdFn h32 xxhash / 1000 bytes | 524.00 ns/op | 405.00 ns/op | 1.29 |
fastMsgIdFn h64 xxhash / 1000 bytes | 509.00 ns/op | 405.00 ns/op | 1.26 |
fastMsgIdFn sha256 / 10000 bytes | 110.02 us/op | 52.287 us/op | 2.10 |
fastMsgIdFn h32 xxhash / 10000 bytes | 2.1210 us/op | 1.7810 us/op | 1.19 |
fastMsgIdFn h64 xxhash / 10000 bytes | 1.5260 us/op | 1.2210 us/op | 1.25 |
send data - 1000 256B messages | 25.161 ms/op | 11.508 ms/op | 2.19 |
send data - 1000 512B messages | 33.123 ms/op | 14.913 ms/op | 2.22 |
send data - 1000 1024B messages | 50.932 ms/op | 23.158 ms/op | 2.20 |
send data - 1000 1200B messages | 47.149 ms/op | 28.532 ms/op | 1.65 |
send data - 1000 2048B messages | 47.200 ms/op | 36.292 ms/op | 1.30 |
send data - 1000 4096B messages | 37.211 ms/op | 31.335 ms/op | 1.19 |
send data - 1000 16384B messages | 134.62 ms/op | 92.439 ms/op | 1.46 |
send data - 1000 65536B messages | 612.51 ms/op | 422.93 ms/op | 1.45 |
enrSubnets - fastDeserialize 64 bits | 1.8350 us/op | 976.00 ns/op | 1.88 |
enrSubnets - ssz BitVector 64 bits | 546.00 ns/op | 411.00 ns/op | 1.33 |
enrSubnets - fastDeserialize 4 bits | 233.00 ns/op | 201.00 ns/op | 1.16 |
enrSubnets - ssz BitVector 4 bits | 558.00 ns/op | 416.00 ns/op | 1.34 |
prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 127.83 us/op | 69.770 us/op | 1.83 |
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 147.71 us/op | 77.468 us/op | 1.91 |
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 218.43 us/op | 102.49 us/op | 2.13 |
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 357.53 us/op | 179.67 us/op | 1.99 |
prioritizePeers score 0:0 att 64-1 sync 4-1 | 414.80 us/op | 203.80 us/op | 2.04 |
array of 16000 items push then shift | 1.8484 us/op | 1.2761 us/op | 1.45 |
LinkedList of 16000 items push then shift | 11.755 ns/op | 5.9540 ns/op | 1.97 |
array of 16000 items push then pop | 122.84 ns/op | 57.390 ns/op | 2.14 |
LinkedList of 16000 items push then pop | 10.037 ns/op | 5.6330 ns/op | 1.78 |
array of 24000 items push then shift | 2.7617 us/op | 1.8935 us/op | 1.46 |
LinkedList of 24000 items push then shift | 10.054 ns/op | 5.7590 ns/op | 1.75 |
array of 24000 items push then pop | 158.89 ns/op | 76.674 ns/op | 2.07 |
LinkedList of 24000 items push then pop | 9.1460 ns/op | 5.6860 ns/op | 1.61 |
intersect bitArray bitLen 8 | 6.7870 ns/op | 5.0550 ns/op | 1.34 |
intersect array and set length 8 | 83.610 ns/op | 49.177 ns/op | 1.70 |
intersect bitArray bitLen 128 | 34.920 ns/op | 27.571 ns/op | 1.27 |
intersect array and set length 128 | 1.1706 us/op | 686.06 ns/op | 1.71 |
bitArray.getTrueBitIndexes() bitLen 128 | 2.5400 us/op | 1.1500 us/op | 2.21 |
bitArray.getTrueBitIndexes() bitLen 248 | 3.4200 us/op | 1.8300 us/op | 1.87 |
bitArray.getTrueBitIndexes() bitLen 512 | 7.0530 us/op | 3.4360 us/op | 2.05 |
Buffer.concat 32 items | 1.0680 us/op | 838.00 ns/op | 1.27 |
Uint8Array.set 32 items | 1.9110 us/op | 1.5860 us/op | 1.20 |
Set add up to 64 items then delete first | 4.8365 us/op | 1.7346 us/op | 2.79 |
OrderedSet add up to 64 items then delete first | 6.2225 us/op | 2.6479 us/op | 2.35 |
Set add up to 64 items then delete last | 5.5150 us/op | 1.9891 us/op | 2.77 |
OrderedSet add up to 64 items then delete last | 7.3896 us/op | 2.9662 us/op | 2.49 |
Set add up to 64 items then delete middle | 5.4238 us/op | 1.9838 us/op | 2.73 |
OrderedSet add up to 64 items then delete middle | 8.3850 us/op | 4.1603 us/op | 2.02 |
Set add up to 128 items then delete first | 11.239 us/op | 3.9154 us/op | 2.87 |
OrderedSet add up to 128 items then delete first | 15.156 us/op | 6.1481 us/op | 2.47 |
Set add up to 128 items then delete last | 11.329 us/op | 3.7722 us/op | 3.00 |
OrderedSet add up to 128 items then delete last | 14.887 us/op | 5.7034 us/op | 2.61 |
Set add up to 128 items then delete middle | 10.820 us/op | 3.7910 us/op | 2.85 |
OrderedSet add up to 128 items then delete middle | 20.957 us/op | 10.672 us/op | 1.96 |
Set add up to 256 items then delete first | 21.358 us/op | 7.6162 us/op | 2.80 |
OrderedSet add up to 256 items then delete first | 31.458 us/op | 12.176 us/op | 2.58 |
Set add up to 256 items then delete last | 22.437 us/op | 7.4153 us/op | 3.03 |
OrderedSet add up to 256 items then delete last | 28.605 us/op | 11.342 us/op | 2.52 |
Set add up to 256 items then delete middle | 21.074 us/op | 7.3950 us/op | 2.85 |
OrderedSet add up to 256 items then delete middle | 51.171 us/op | 30.140 us/op | 1.70 |
transfer serialized Status (84 B) | 1.9710 us/op | 1.3580 us/op | 1.45 |
copy serialized Status (84 B) | 1.7640 us/op | 1.1650 us/op | 1.51 |
transfer serialized SignedVoluntaryExit (112 B) | 2.1380 us/op | 1.3710 us/op | 1.56 |
copy serialized SignedVoluntaryExit (112 B) | 1.7820 us/op | 1.1720 us/op | 1.52 |
transfer serialized ProposerSlashing (416 B) | 2.7500 us/op | 1.5180 us/op | 1.81 |
copy serialized ProposerSlashing (416 B) | 2.7040 us/op | 1.3720 us/op | 1.97 |
transfer serialized Attestation (485 B) | 2.8490 us/op | 1.5680 us/op | 1.82 |
copy serialized Attestation (485 B) | 2.4710 us/op | 1.3820 us/op | 1.79 |
transfer serialized AttesterSlashing (33232 B) | 2.5090 us/op | 1.6410 us/op | 1.53 |
copy serialized AttesterSlashing (33232 B) | 8.7590 us/op | 3.4760 us/op | 2.52 |
transfer serialized Small SignedBeaconBlock (128000 B) | 2.8320 us/op | 1.7240 us/op | 1.64 |
copy serialized Small SignedBeaconBlock (128000 B) | 18.812 us/op | 8.3810 us/op | 2.24 |
transfer serialized Avg SignedBeaconBlock (200000 B) | 3.3330 us/op | 1.9190 us/op | 1.74 |
copy serialized Avg SignedBeaconBlock (200000 B) | 31.843 us/op | 12.711 us/op | 2.51 |
transfer serialized BlobsSidecar (524380 B) | 3.8280 us/op | 2.2330 us/op | 1.71 |
copy serialized BlobsSidecar (524380 B) | 119.76 us/op | 78.101 us/op | 1.53 |
transfer serialized Big SignedBeaconBlock (1000000 B) | 3.7640 us/op | 2.6970 us/op | 1.40 |
copy serialized Big SignedBeaconBlock (1000000 B) | 177.50 us/op | 195.67 us/op | 0.91 |
pass gossip attestations to forkchoice per slot | 3.9029 ms/op | 2.7362 ms/op | 1.43 |
forkChoice updateHead vc 100000 bc 64 eq 0 | 693.35 us/op | 491.32 us/op | 1.41 |
forkChoice updateHead vc 600000 bc 64 eq 0 | 4.5781 ms/op | 2.7156 ms/op | 1.69 |
forkChoice updateHead vc 1000000 bc 64 eq 0 | 8.5665 ms/op | 4.4277 ms/op | 1.93 |
forkChoice updateHead vc 600000 bc 320 eq 0 | 4.2766 ms/op | 2.6223 ms/op | 1.63 |
forkChoice updateHead vc 600000 bc 1200 eq 0 | 4.4388 ms/op | 2.6921 ms/op | 1.65 |
forkChoice updateHead vc 600000 bc 7200 eq 0 | 5.5420 ms/op | 3.5379 ms/op | 1.57 |
forkChoice updateHead vc 600000 bc 64 eq 1000 | 11.308 ms/op | 10.063 ms/op | 1.12 |
forkChoice updateHead vc 600000 bc 64 eq 10000 | 11.950 ms/op | 9.7239 ms/op | 1.23 |
forkChoice updateHead vc 600000 bc 64 eq 300000 | 16.715 ms/op | 11.895 ms/op | 1.41 |
computeDeltas 500000 validators 300 proto nodes | 6.8889 ms/op | 3.0617 ms/op | 2.25 |
computeDeltas 500000 validators 1200 proto nodes | 7.3444 ms/op | 2.9465 ms/op | 2.49 |
computeDeltas 500000 validators 7200 proto nodes | 6.8794 ms/op | 3.0148 ms/op | 2.28 |
computeDeltas 750000 validators 300 proto nodes | 10.742 ms/op | 4.7349 ms/op | 2.27 |
computeDeltas 750000 validators 1200 proto nodes | 11.888 ms/op | 4.7388 ms/op | 2.51 |
computeDeltas 750000 validators 7200 proto nodes | 11.188 ms/op | 4.5791 ms/op | 2.44 |
computeDeltas 1400000 validators 300 proto nodes | 21.097 ms/op | 9.4619 ms/op | 2.23 |
computeDeltas 1400000 validators 1200 proto nodes | 20.369 ms/op | 8.9484 ms/op | 2.28 |
computeDeltas 1400000 validators 7200 proto nodes | 22.954 ms/op | 9.1763 ms/op | 2.50 |
computeDeltas 2100000 validators 300 proto nodes | 30.451 ms/op | 13.958 ms/op | 2.18 |
computeDeltas 2100000 validators 1200 proto nodes | 31.331 ms/op | 13.560 ms/op | 2.31 |
computeDeltas 2100000 validators 7200 proto nodes | 30.482 ms/op | 13.674 ms/op | 2.23 |
computeProposerBoostScoreFromBalances 500000 validators | 4.0293 ms/op | 3.2580 ms/op | 1.24 |
computeProposerBoostScoreFromBalances 750000 validators | 4.3587 ms/op | 3.2912 ms/op | 1.32 |
computeProposerBoostScoreFromBalances 1400000 validators | 4.2226 ms/op | 3.2024 ms/op | 1.32 |
computeProposerBoostScoreFromBalances 2100000 validators | 4.1403 ms/op | 3.2294 ms/op | 1.28 |
altair processAttestation - 250000 vs - 7PWei normalcase | 3.4923 ms/op | 1.6979 ms/op | 2.06 |
altair processAttestation - 250000 vs - 7PWei worstcase | 5.9193 ms/op | 2.8145 ms/op | 2.10 |
altair processAttestation - setStatus - 1/6 committees join | 217.30 us/op | 122.77 us/op | 1.77 |
altair processAttestation - setStatus - 1/3 committees join | 421.36 us/op | 210.54 us/op | 2.00 |
altair processAttestation - setStatus - 1/2 committees join | 552.42 us/op | 364.88 us/op | 1.51 |
altair processAttestation - setStatus - 2/3 committees join | 706.32 us/op | 404.38 us/op | 1.75 |
altair processAttestation - setStatus - 4/5 committees join | 908.83 us/op | 691.76 us/op | 1.31 |
altair processAttestation - setStatus - 100% committees join | 1.0752 ms/op | 647.73 us/op | 1.66 |
altair processBlock - 250000 vs - 7PWei normalcase | 12.108 ms/op | 12.047 ms/op | 1.01 |
altair processBlock - 250000 vs - 7PWei normalcase hashState | 40.289 ms/op | 40.059 ms/op | 1.01 |
altair processBlock - 250000 vs - 7PWei worstcase | 42.793 ms/op | 49.499 ms/op | 0.86 |
altair processBlock - 250000 vs - 7PWei worstcase hashState | 98.436 ms/op | 136.43 ms/op | 0.72 |
phase0 processBlock - 250000 vs - 7PWei normalcase | 2.8859 ms/op | 4.0689 ms/op | 0.71 |
phase0 processBlock - 250000 vs - 7PWei worstcase | 33.988 ms/op | 34.489 ms/op | 0.99 |
altair processEth1Data - 250000 vs - 7PWei normalcase | 696.62 us/op | 750.49 us/op | 0.93 |
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 16.066 us/op | 5.4010 us/op | 2.97 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 109.26 us/op | 52.845 us/op | 2.07 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 29.231 us/op | 14.676 us/op | 1.99 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 22.607 us/op | 9.1200 us/op | 2.48 |
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 212.65 us/op | 154.45 us/op | 1.38 |
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 1.6268 ms/op | 1.5432 ms/op | 1.05 |
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 1.6284 ms/op | 1.0401 ms/op | 1.57 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 1.7240 ms/op | 1.4502 ms/op | 1.19 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 3.6925 ms/op | 2.2438 ms/op | 1.65 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 2.6002 ms/op | 1.7352 ms/op | 1.50 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 6.0416 ms/op | 3.3702 ms/op | 1.79 |
Tree 40 250000 create | 396.00 ms/op | 272.28 ms/op | 1.45 |
Tree 40 250000 get(125000) | 217.27 ns/op | 105.15 ns/op | 2.07 |
Tree 40 250000 set(125000) | 1.1404 us/op | 732.16 ns/op | 1.56 |
Tree 40 250000 toArray() | 23.773 ms/op | 14.880 ms/op | 1.60 |
Tree 40 250000 iterate all - toArray() + loop | 23.646 ms/op | 14.651 ms/op | 1.61 |
Tree 40 250000 iterate all - get(i) | 72.259 ms/op | 40.548 ms/op | 1.78 |
MutableVector 250000 create | 13.928 ms/op | 11.686 ms/op | 1.19 |
MutableVector 250000 get(125000) | 6.7250 ns/op | 5.3550 ns/op | 1.26 |
MutableVector 250000 set(125000) | 294.00 ns/op | 196.76 ns/op | 1.49 |
MutableVector 250000 toArray() | 3.9343 ms/op | 2.5651 ms/op | 1.53 |
MutableVector 250000 iterate all - toArray() + loop | 4.0931 ms/op | 2.7324 ms/op | 1.50 |
MutableVector 250000 iterate all - get(i) | 1.5321 ms/op | 1.3298 ms/op | 1.15 |
Array 250000 create | 3.3181 ms/op | 2.3689 ms/op | 1.40 |
Array 250000 clone - spread | 1.2675 ms/op | 9.1842 ms/op | 0.14 |
Array 250000 get(125000) | 1.0760 ns/op | 1.0410 ns/op | 1.03 |
Array 250000 set(125000) | 4.1950 ns/op | 1.1490 ns/op | 3.65 |
Array 250000 iterate all - loop | 165.56 us/op | 147.23 us/op | 1.12 |
effectiveBalanceIncrements clone Uint8Array 300000 | 28.234 us/op | 18.699 us/op | 1.51 |
effectiveBalanceIncrements clone MutableVector 300000 | 352.00 ns/op | 352.00 ns/op | 1.00 |
effectiveBalanceIncrements rw all Uint8Array 300000 | 198.29 us/op | 176.45 us/op | 1.12 |
effectiveBalanceIncrements rw all MutableVector 300000 | 87.488 ms/op | 61.459 ms/op | 1.42 |
phase0 afterProcessEpoch - 250000 vs - 7PWei | 121.37 ms/op | 77.303 ms/op | 1.57 |
phase0 beforeProcessEpoch - 250000 vs - 7PWei | 66.176 ms/op | 44.584 ms/op | 1.48 |
altair processEpoch - mainnet_e81889 | 539.87 ms/op | 428.32 ms/op | 1.26 |
mainnet_e81889 - altair beforeProcessEpoch | 89.444 ms/op | 74.221 ms/op | 1.21 |
mainnet_e81889 - altair processJustificationAndFinalization | 18.951 us/op | 10.411 us/op | 1.82 |
mainnet_e81889 - altair processInactivityUpdates | 6.3619 ms/op | 5.9123 ms/op | 1.08 |
mainnet_e81889 - altair processRewardsAndPenalties | 67.293 ms/op | 58.935 ms/op | 1.14 |
mainnet_e81889 - altair processRegistryUpdates | 4.2110 us/op | 2.5700 us/op | 1.64 |
mainnet_e81889 - altair processSlashings | 589.00 ns/op | 601.00 ns/op | 0.98 |
mainnet_e81889 - altair processEth1DataReset | 1.0060 us/op | 571.00 ns/op | 1.76 |
mainnet_e81889 - altair processEffectiveBalanceUpdates | 1.4835 ms/op | 1.7600 ms/op | 0.84 |
mainnet_e81889 - altair processSlashingsReset | 4.4500 us/op | 2.4930 us/op | 1.78 |
mainnet_e81889 - altair processRandaoMixesReset | 5.3530 us/op | 2.8330 us/op | 1.89 |
mainnet_e81889 - altair processHistoricalRootsUpdate | 1.2780 us/op | 649.00 ns/op | 1.97 |
mainnet_e81889 - altair processParticipationFlagUpdates | 2.4240 us/op | 1.4530 us/op | 1.67 |
mainnet_e81889 - altair processSyncCommitteeUpdates | 628.00 ns/op | 532.00 ns/op | 1.18 |
mainnet_e81889 - altair afterProcessEpoch | 126.71 ms/op | 80.565 ms/op | 1.57 |
capella processEpoch - mainnet_e217614 | 2.8460 s/op | 2.2132 s/op | 1.29 |
mainnet_e217614 - capella beforeProcessEpoch | 587.42 ms/op | 429.03 ms/op | 1.37 |
mainnet_e217614 - capella processJustificationAndFinalization | 26.614 us/op | 11.791 us/op | 2.26 |
mainnet_e217614 - capella processInactivityUpdates | 26.019 ms/op | 19.446 ms/op | 1.34 |
mainnet_e217614 - capella processRewardsAndPenalties | 504.63 ms/op | 383.38 ms/op | 1.32 |
mainnet_e217614 - capella processRegistryUpdates | 45.627 us/op | 13.682 us/op | 3.33 |
mainnet_e217614 - capella processSlashings | 1.8090 us/op | 591.00 ns/op | 3.06 |
mainnet_e217614 - capella processEth1DataReset | 873.00 ns/op | 628.00 ns/op | 1.39 |
mainnet_e217614 - capella processEffectiveBalanceUpdates | 6.1015 ms/op | 3.4986 ms/op | 1.74 |
mainnet_e217614 - capella processSlashingsReset | 5.0870 us/op | 3.0990 us/op | 1.64 |
mainnet_e217614 - capella processRandaoMixesReset | 8.3120 us/op | 8.2410 us/op | 1.01 |
mainnet_e217614 - capella processHistoricalRootsUpdate | 664.00 ns/op | 793.00 ns/op | 0.84 |
mainnet_e217614 - capella processParticipationFlagUpdates | 3.0850 us/op | 1.3540 us/op | 2.28 |
mainnet_e217614 - capella afterProcessEpoch | 363.82 ms/op | 227.97 ms/op | 1.60 |
phase0 processEpoch - mainnet_e58758 | 675.98 ms/op | 415.10 ms/op | 1.63 |
mainnet_e58758 - phase0 beforeProcessEpoch | 246.74 ms/op | 142.03 ms/op | 1.74 |
mainnet_e58758 - phase0 processJustificationAndFinalization | 36.729 us/op | 16.703 us/op | 2.20 |
mainnet_e58758 - phase0 processRewardsAndPenalties | 73.325 ms/op | 47.537 ms/op | 1.54 |
mainnet_e58758 - phase0 processRegistryUpdates | 25.860 us/op | 9.0180 us/op | 2.87 |
mainnet_e58758 - phase0 processSlashings | 1.8220 us/op | 978.00 ns/op | 1.86 |
mainnet_e58758 - phase0 processEth1DataReset | 1.4720 us/op | 640.00 ns/op | 2.30 |
mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 2.0860 ms/op | 969.53 us/op | 2.15 |
mainnet_e58758 - phase0 processSlashingsReset | 7.7980 us/op | 4.1260 us/op | 1.89 |
mainnet_e58758 - phase0 processRandaoMixesReset | 12.303 us/op | 4.2310 us/op | 2.91 |
mainnet_e58758 - phase0 processHistoricalRootsUpdate | 1.1650 us/op | 997.00 ns/op | 1.17 |
mainnet_e58758 - phase0 processParticipationRecordUpdates | 12.026 us/op | 5.0010 us/op | 2.40 |
mainnet_e58758 - phase0 afterProcessEpoch | 128.17 ms/op | 68.392 ms/op | 1.87 |
phase0 processEffectiveBalanceUpdates - 250000 normalcase | 2.2344 ms/op | 1.2471 ms/op | 1.79 |
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 2.4564 ms/op | 1.2880 ms/op | 1.91 |
altair processInactivityUpdates - 250000 normalcase | 55.950 ms/op | 30.384 ms/op | 1.84 |
altair processInactivityUpdates - 250000 worstcase | 57.491 ms/op | 26.847 ms/op | 2.14 |
phase0 processRegistryUpdates - 250000 normalcase | 19.871 us/op | 11.336 us/op | 1.75 |
phase0 processRegistryUpdates - 250000 badcase_full_deposits | 718.98 us/op | 391.91 us/op | 1.83 |
phase0 processRegistryUpdates - 250000 worstcase 0.5 | 203.43 ms/op | 114.00 ms/op | 1.78 |
altair processRewardsAndPenalties - 250000 normalcase | 106.22 ms/op | 41.015 ms/op | 2.59 |
altair processRewardsAndPenalties - 250000 worstcase | 113.94 ms/op | 54.871 ms/op | 2.08 |
phase0 getAttestationDeltas - 250000 normalcase | 16.262 ms/op | 5.9943 ms/op | 2.71 |
phase0 getAttestationDeltas - 250000 worstcase | 16.390 ms/op | 8.3034 ms/op | 1.97 |
phase0 processSlashings - 250000 worstcase | 132.97 us/op | 84.615 us/op | 1.57 |
altair processSyncCommitteeUpdates - 250000 | 172.38 ms/op | 127.03 ms/op | 1.36 |
BeaconState.hashTreeRoot - No change | 276.00 ns/op | 447.00 ns/op | 0.62 |
BeaconState.hashTreeRoot - 1 full validator | 152.76 us/op | 130.44 us/op | 1.17 |
BeaconState.hashTreeRoot - 32 full validator | 1.6571 ms/op | 1.4590 ms/op | 1.14 |
BeaconState.hashTreeRoot - 512 full validator | 21.865 ms/op | 18.472 ms/op | 1.18 |
BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 202.98 us/op | 150.25 us/op | 1.35 |
BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 2.8342 ms/op | 2.0279 ms/op | 1.40 |
BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 40.336 ms/op | 32.852 ms/op | 1.23 |
BeaconState.hashTreeRoot - 1 balances | 190.26 us/op | 118.80 us/op | 1.60 |
BeaconState.hashTreeRoot - 32 balances | 2.0046 ms/op | 1.1455 ms/op | 1.75 |
BeaconState.hashTreeRoot - 512 balances | 15.988 ms/op | 10.696 ms/op | 1.49 |
BeaconState.hashTreeRoot - 250000 balances | 254.26 ms/op | 192.93 ms/op | 1.32 |
aggregationBits - 2048 els - zipIndexesInBitList | 34.588 us/op | 10.749 us/op | 3.22 |
byteArrayEquals 32 | 83.081 ns/op | 65.390 ns/op | 1.27 |
Buffer.compare 32 | 59.575 ns/op | 39.177 ns/op | 1.52 |
byteArrayEquals 1024 | 3.9192 us/op | 1.7661 us/op | 2.22 |
Buffer.compare 1024 | 106.30 ns/op | 47.677 ns/op | 2.23 |
byteArrayEquals 16384 | 38.609 us/op | 28.330 us/op | 1.36 |
Buffer.compare 16384 | 286.00 ns/op | 223.57 ns/op | 1.28 |
byteArrayEquals 123687377 | 315.13 ms/op | 206.09 ms/op | 1.53 |
Buffer.compare 123687377 | 12.302 ms/op | 7.7511 ms/op | 1.59 |
byteArrayEquals 32 - diff last byte | 129.58 ns/op | 65.340 ns/op | 1.98 |
Buffer.compare 32 - diff last byte | 67.186 ns/op | 42.034 ns/op | 1.60 |
byteArrayEquals 1024 - diff last byte | 2.1437 us/op | 1.9043 us/op | 1.13 |
Buffer.compare 1024 - diff last byte | 75.341 ns/op | 48.633 ns/op | 1.55 |
byteArrayEquals 16384 - diff last byte | 35.172 us/op | 27.886 us/op | 1.26 |
Buffer.compare 16384 - diff last byte | 287.70 ns/op | 241.23 ns/op | 1.19 |
byteArrayEquals 123687377 - diff last byte | 287.30 ms/op | 213.52 ms/op | 1.35 |
Buffer.compare 123687377 - diff last byte | 9.2592 ms/op | 6.4727 ms/op | 1.43 |
byteArrayEquals 32 - random bytes | 7.3430 ns/op | 5.3600 ns/op | 1.37 |
Buffer.compare 32 - random bytes | 64.376 ns/op | 39.720 ns/op | 1.62 |
byteArrayEquals 1024 - random bytes | 6.6450 ns/op | 5.0070 ns/op | 1.33 |
Buffer.compare 1024 - random bytes | 63.877 ns/op | 37.014 ns/op | 1.73 |
byteArrayEquals 16384 - random bytes | 7.2140 ns/op | 4.9680 ns/op | 1.45 |
Buffer.compare 16384 - random bytes | 67.746 ns/op | 36.888 ns/op | 1.84 |
byteArrayEquals 123687377 - random bytes | 13.800 ns/op | 8.1300 ns/op | 1.70 |
Buffer.compare 123687377 - random bytes | 79.050 ns/op | 39.220 ns/op | 2.02 |
regular array get 100000 times | 50.029 us/op | 41.615 us/op | 1.20 |
wrappedArray get 100000 times | 50.903 us/op | 41.354 us/op | 1.23 |
arrayWithProxy get 100000 times | 16.612 ms/op | 9.2633 ms/op | 1.79 |
ssz.Root.equals | 57.579 ns/op | 55.729 ns/op | 1.03 |
byteArrayEquals | 56.248 ns/op | 53.145 ns/op | 1.06 |
Buffer.compare | 12.649 ns/op | 9.8420 ns/op | 1.29 |
shuffle list - 16384 els | 7.8048 ms/op | 4.7429 ms/op | 1.65 |
shuffle list - 250000 els | 108.80 ms/op | 71.127 ms/op | 1.53 |
processSlot - 1 slots | 18.906 us/op | 15.393 us/op | 1.23 |
processSlot - 32 slots | 3.5130 ms/op | 2.8292 ms/op | 1.24 |
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 61.051 ms/op | 52.256 ms/op | 1.17 |
getCommitteeAssignments - req 1 vs - 250000 vc | 2.5400 ms/op | 2.2709 ms/op | 1.12 |
getCommitteeAssignments - req 100 vs - 250000 vc | 3.7693 ms/op | 3.2926 ms/op | 1.14 |
getCommitteeAssignments - req 1000 vs - 250000 vc | 4.1346 ms/op | 3.7173 ms/op | 1.11 |
findModifiedValidators - 10000 modified validators | 525.03 ms/op | 433.44 ms/op | 1.21 |
findModifiedValidators - 1000 modified validators | 435.35 ms/op | 334.49 ms/op | 1.30 |
findModifiedValidators - 100 modified validators | 457.27 ms/op | 298.28 ms/op | 1.53 |
findModifiedValidators - 10 modified validators | 450.88 ms/op | 343.26 ms/op | 1.31 |
findModifiedValidators - 1 modified validators | 424.57 ms/op | 300.73 ms/op | 1.41 |
findModifiedValidators - no difference | 439.70 ms/op | 286.71 ms/op | 1.53 |
compare ViewDUs | 4.7371 s/op | 3.9242 s/op | 1.21 |
compare each validator Uint8Array | 1.7839 s/op | 1.9307 s/op | 0.92 |
compare ViewDU to Uint8Array | 1.3515 s/op | 786.47 ms/op | 1.72 |
migrate state 1000000 validators, 24 modified, 0 new | 865.57 ms/op | 748.66 ms/op | 1.16 |
migrate state 1000000 validators, 1700 modified, 1000 new | 1.1552 s/op | 941.61 ms/op | 1.23 |
migrate state 1000000 validators, 3400 modified, 2000 new | 1.4468 s/op | 1.1895 s/op | 1.22 |
migrate state 1500000 validators, 24 modified, 0 new | 1.0555 s/op | 711.67 ms/op | 1.48 |
migrate state 1500000 validators, 1700 modified, 1000 new | 1.2053 s/op | 931.91 ms/op | 1.29 |
migrate state 1500000 validators, 3400 modified, 2000 new | 1.3192 s/op | 1.0465 s/op | 1.26 |
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 4.6800 ns/op | 4.3100 ns/op | 1.09 |
state getBlockRootAtSlot - 250000 vs - 7PWei | 563.00 ns/op | 405.66 ns/op | 1.39 |
computeProposers - vc 250000 | 9.1952 ms/op | 6.1354 ms/op | 1.50 |
computeEpochShuffling - vc 250000 | 104.16 ms/op | 70.765 ms/op | 1.47 |
getNextSyncCommittee - vc 250000 | 164.05 ms/op | 113.51 ms/op | 1.45 |
computeSigningRoot for AttestationData | 29.275 us/op | 26.077 us/op | 1.12 |
hash AttestationData serialized data then Buffer.toString(base64) | 2.3437 us/op | 1.2731 us/op | 1.84 |
toHexString serialized data | 1.1147 us/op | 794.82 ns/op | 1.40 |
Buffer.toString(base64) | 223.49 ns/op | 152.03 ns/op | 1.47 |
by benchmarkbot/action
🎉 This PR is included in v1.14.0 🎉 |
* Migrate utils tests to vitest * Remove e2e test script
Motivation
Consolidate the testing frameworks and migrate to vitest.
Description
Migrate
utils
and spec tests to vitest.Steps to test or reproduce