-
-
Notifications
You must be signed in to change notification settings - Fork 290
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: add support to dump raw simulation data for debugging #6429
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## unstable #6429 +/- ##
=========================================
Coverage 61.72% 61.72%
=========================================
Files 553 553
Lines 57862 57862
Branches 1829 1829
=========================================
Hits 35717 35717
Misses 22108 22108
Partials 37 37 |
|
Benchmark suite | Current: da8391e | Previous: cd7421e | Ratio |
---|---|---|---|
getSlashingsAndExits - 2k | 5.0458 ms/op | 420.51 us/op | 12.00 |
🚀🚀 Significant benchmark improvement detected
Benchmark suite | Current: da8391e | Previous: cd7421e | Ratio |
---|---|---|---|
Set add up to 128 items then delete middle | 3.8327 us/op | 11.995 us/op | 0.32 |
phase0 processEffectiveBalanceUpdates - 250000 normalcase | 1.1434 ms/op | 3.4505 ms/op | 0.33 |
Full benchmark results
Benchmark suite | Current: da8391e | Previous: cd7421e | Ratio |
---|---|---|---|
getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 1.0863 ms/op | 597.87 us/op | 1.82 |
getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 106.81 us/op | 88.603 us/op | 1.21 |
BLS verify - blst-native | 1.1742 ms/op | 1.4294 ms/op | 0.82 |
BLS verifyMultipleSignatures 3 - blst-native | 2.4500 ms/op | 2.9915 ms/op | 0.82 |
BLS verifyMultipleSignatures 8 - blst-native | 5.4093 ms/op | 6.5358 ms/op | 0.83 |
BLS verifyMultipleSignatures 32 - blst-native | 20.624 ms/op | 23.861 ms/op | 0.86 |
BLS verifyMultipleSignatures 64 - blst-native | 41.729 ms/op | 46.094 ms/op | 0.91 |
BLS verifyMultipleSignatures 128 - blst-native | 77.920 ms/op | 90.276 ms/op | 0.86 |
BLS deserializing 10000 signatures | 816.26 ms/op | 1.0193 s/op | 0.80 |
BLS deserializing 100000 signatures | 8.2779 s/op | 9.5068 s/op | 0.87 |
BLS verifyMultipleSignatures - same message - 3 - blst-native | 1.1452 ms/op | 1.4690 ms/op | 0.78 |
BLS verifyMultipleSignatures - same message - 8 - blst-native | 1.4216 ms/op | 1.6339 ms/op | 0.87 |
BLS verifyMultipleSignatures - same message - 32 - blst-native | 2.4542 ms/op | 2.5077 ms/op | 0.98 |
BLS verifyMultipleSignatures - same message - 64 - blst-native | 3.9598 ms/op | 3.7574 ms/op | 1.05 |
BLS verifyMultipleSignatures - same message - 128 - blst-native | 7.1279 ms/op | 6.0194 ms/op | 1.18 |
BLS aggregatePubkeys 32 - blst-native | 22.156 us/op | 27.463 us/op | 0.81 |
BLS aggregatePubkeys 128 - blst-native | 86.157 us/op | 107.72 us/op | 0.80 |
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 | 45.177 ms/op | 65.271 ms/op | 0.69 |
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 | 45.445 ms/op | 60.394 ms/op | 0.75 |
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 | 25.493 ms/op | 46.397 ms/op | 0.55 |
getSlashingsAndExits - default max | 154.42 us/op | 197.19 us/op | 0.78 |
getSlashingsAndExits - 2k | 5.0458 ms/op | 420.51 us/op | 12.00 |
proposeBlockBody type=full, size=empty | 4.3827 ms/op | 6.8517 ms/op | 0.64 |
isKnown best case - 1 super set check | 464.00 ns/op | 481.00 ns/op | 0.96 |
isKnown normal case - 2 super set checks | 458.00 ns/op | 449.00 ns/op | 1.02 |
isKnown worse case - 16 super set checks | 412.00 ns/op | 409.00 ns/op | 1.01 |
CheckpointStateCache - add get delete | 4.9420 us/op | 6.8280 us/op | 0.72 |
validate api signedAggregateAndProof - struct | 2.4468 ms/op | 3.1702 ms/op | 0.77 |
validate gossip signedAggregateAndProof - struct | 2.4964 ms/op | 3.4659 ms/op | 0.72 |
validate gossip attestation - vc 640000 | 1.2050 ms/op | 1.5394 ms/op | 0.78 |
batch validate gossip attestation - vc 640000 - chunk 32 | 152.11 us/op | 180.72 us/op | 0.84 |
batch validate gossip attestation - vc 640000 - chunk 64 | 137.43 us/op | 157.67 us/op | 0.87 |
batch validate gossip attestation - vc 640000 - chunk 128 | 127.68 us/op | 143.31 us/op | 0.89 |
batch validate gossip attestation - vc 640000 - chunk 256 | 129.91 us/op | 138.45 us/op | 0.94 |
pickEth1Vote - no votes | 950.62 us/op | 1.2777 ms/op | 0.74 |
pickEth1Vote - max votes | 8.0144 ms/op | 9.3783 ms/op | 0.85 |
pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 13.307 ms/op | 17.068 ms/op | 0.78 |
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 19.121 ms/op | 27.222 ms/op | 0.70 |
pickEth1Vote - Eth1Data fastSerialize value x2048 | 497.43 us/op | 674.06 us/op | 0.74 |
pickEth1Vote - Eth1Data fastSerialize tree x2048 | 9.4422 ms/op | 5.4094 ms/op | 1.75 |
bytes32 toHexString | 463.00 ns/op | 498.00 ns/op | 0.93 |
bytes32 Buffer.toString(hex) | 316.00 ns/op | 293.00 ns/op | 1.08 |
bytes32 Buffer.toString(hex) from Uint8Array | 453.00 ns/op | 417.00 ns/op | 1.09 |
bytes32 Buffer.toString(hex) + 0x | 327.00 ns/op | 298.00 ns/op | 1.10 |
Object access 1 prop | 0.22100 ns/op | 0.16400 ns/op | 1.35 |
Map access 1 prop | 0.20600 ns/op | 0.15500 ns/op | 1.33 |
Object get x1000 | 5.6110 ns/op | 8.0270 ns/op | 0.70 |
Map get x1000 | 0.90700 ns/op | 0.78200 ns/op | 1.16 |
Object set x1000 | 29.119 ns/op | 53.017 ns/op | 0.55 |
Map set x1000 | 19.788 ns/op | 41.543 ns/op | 0.48 |
Return object 10000 times | 0.26140 ns/op | 0.24990 ns/op | 1.05 |
Throw Error 10000 times | 2.8410 us/op | 3.9809 us/op | 0.71 |
fastMsgIdFn sha256 / 200 bytes | 2.0520 us/op | 3.4230 us/op | 0.60 |
fastMsgIdFn h32 xxhash / 200 bytes | 340.00 ns/op | 279.00 ns/op | 1.22 |
fastMsgIdFn h64 xxhash / 200 bytes | 402.00 ns/op | 354.00 ns/op | 1.14 |
fastMsgIdFn sha256 / 1000 bytes | 6.2850 us/op | 11.920 us/op | 0.53 |
fastMsgIdFn h32 xxhash / 1000 bytes | 495.00 ns/op | 408.00 ns/op | 1.21 |
fastMsgIdFn h64 xxhash / 1000 bytes | 526.00 ns/op | 427.00 ns/op | 1.23 |
fastMsgIdFn sha256 / 10000 bytes | 54.687 us/op | 108.65 us/op | 0.50 |
fastMsgIdFn h32 xxhash / 10000 bytes | 1.9010 us/op | 1.9880 us/op | 0.96 |
fastMsgIdFn h64 xxhash / 10000 bytes | 1.3020 us/op | 1.3550 us/op | 0.96 |
send data - 1000 256B messages | 12.020 ms/op | 19.181 ms/op | 0.63 |
send data - 1000 512B messages | 15.782 ms/op | 27.029 ms/op | 0.58 |
send data - 1000 1024B messages | 26.096 ms/op | 41.261 ms/op | 0.63 |
send data - 1000 1200B messages | 29.512 ms/op | 41.218 ms/op | 0.72 |
send data - 1000 2048B messages | 39.218 ms/op | 51.855 ms/op | 0.76 |
send data - 1000 4096B messages | 33.097 ms/op | 46.631 ms/op | 0.71 |
send data - 1000 16384B messages | 87.289 ms/op | 127.16 ms/op | 0.69 |
send data - 1000 65536B messages | 396.73 ms/op | 530.23 ms/op | 0.75 |
enrSubnets - fastDeserialize 64 bits | 1.0620 us/op | 1.4720 us/op | 0.72 |
enrSubnets - ssz BitVector 64 bits | 471.00 ns/op | 503.00 ns/op | 0.94 |
enrSubnets - fastDeserialize 4 bits | 253.00 ns/op | 200.00 ns/op | 1.26 |
enrSubnets - ssz BitVector 4 bits | 569.00 ns/op | 511.00 ns/op | 1.11 |
prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 78.649 us/op | 128.89 us/op | 0.61 |
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 96.514 us/op | 153.31 us/op | 0.63 |
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 139.79 us/op | 200.57 us/op | 0.70 |
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 212.96 us/op | 326.06 us/op | 0.65 |
prioritizePeers score 0:0 att 64-1 sync 4-1 | 224.79 us/op | 398.69 us/op | 0.56 |
array of 16000 items push then shift | 1.2780 us/op | 1.7657 us/op | 0.72 |
LinkedList of 16000 items push then shift | 7.2040 ns/op | 9.7140 ns/op | 0.74 |
array of 16000 items push then pop | 95.980 ns/op | 115.72 ns/op | 0.83 |
LinkedList of 16000 items push then pop | 6.0350 ns/op | 9.4340 ns/op | 0.64 |
array of 24000 items push then shift | 2.0390 us/op | 2.7634 us/op | 0.74 |
LinkedList of 24000 items push then shift | 6.7200 ns/op | 10.239 ns/op | 0.66 |
array of 24000 items push then pop | 113.18 ns/op | 153.93 ns/op | 0.74 |
LinkedList of 24000 items push then pop | 5.7820 ns/op | 9.8000 ns/op | 0.59 |
intersect bitArray bitLen 8 | 4.6390 ns/op | 6.7090 ns/op | 0.69 |
intersect array and set length 8 | 50.101 ns/op | 72.396 ns/op | 0.69 |
intersect bitArray bitLen 128 | 28.830 ns/op | 40.246 ns/op | 0.72 |
intersect array and set length 128 | 723.36 ns/op | 996.28 ns/op | 0.73 |
bitArray.getTrueBitIndexes() bitLen 128 | 1.2510 us/op | 1.7620 us/op | 0.71 |
bitArray.getTrueBitIndexes() bitLen 248 | 2.0630 us/op | 3.0190 us/op | 0.68 |
bitArray.getTrueBitIndexes() bitLen 512 | 4.3990 us/op | 5.9840 us/op | 0.74 |
Buffer.concat 32 items | 1.0150 us/op | 1.1030 us/op | 0.92 |
Uint8Array.set 32 items | 1.9940 us/op | 2.0390 us/op | 0.98 |
Set add up to 64 items then delete first | 1.7684 us/op | 4.9766 us/op | 0.36 |
OrderedSet add up to 64 items then delete first | 2.7556 us/op | 6.3636 us/op | 0.43 |
Set add up to 64 items then delete last | 2.0228 us/op | 5.5987 us/op | 0.36 |
OrderedSet add up to 64 items then delete last | 3.1438 us/op | 6.6864 us/op | 0.47 |
Set add up to 64 items then delete middle | 2.0331 us/op | 5.3394 us/op | 0.38 |
OrderedSet add up to 64 items then delete middle | 4.5087 us/op | 8.3369 us/op | 0.54 |
Set add up to 128 items then delete first | 4.2193 us/op | 10.879 us/op | 0.39 |
OrderedSet add up to 128 items then delete first | 6.2440 us/op | 14.220 us/op | 0.44 |
Set add up to 128 items then delete last | 3.8985 us/op | 11.074 us/op | 0.35 |
OrderedSet add up to 128 items then delete last | 5.7895 us/op | 13.451 us/op | 0.43 |
Set add up to 128 items then delete middle | 3.8327 us/op | 11.995 us/op | 0.32 |
OrderedSet add up to 128 items then delete middle | 10.742 us/op | 20.184 us/op | 0.53 |
Set add up to 256 items then delete first | 7.7745 us/op | 22.367 us/op | 0.35 |
OrderedSet add up to 256 items then delete first | 12.302 us/op | 31.935 us/op | 0.39 |
Set add up to 256 items then delete last | 7.5176 us/op | 22.071 us/op | 0.34 |
OrderedSet add up to 256 items then delete last | 11.530 us/op | 28.188 us/op | 0.41 |
Set add up to 256 items then delete middle | 7.4958 us/op | 21.850 us/op | 0.34 |
OrderedSet add up to 256 items then delete middle | 31.328 us/op | 55.172 us/op | 0.57 |
transfer serialized Status (84 B) | 1.3530 us/op | 2.0030 us/op | 0.68 |
copy serialized Status (84 B) | 1.1630 us/op | 1.5080 us/op | 0.77 |
transfer serialized SignedVoluntaryExit (112 B) | 1.4460 us/op | 2.1240 us/op | 0.68 |
copy serialized SignedVoluntaryExit (112 B) | 1.0740 us/op | 1.6760 us/op | 0.64 |
transfer serialized ProposerSlashing (416 B) | 1.5040 us/op | 3.3670 us/op | 0.45 |
copy serialized ProposerSlashing (416 B) | 1.4080 us/op | 3.2900 us/op | 0.43 |
transfer serialized Attestation (485 B) | 1.7370 us/op | 3.5240 us/op | 0.49 |
copy serialized Attestation (485 B) | 1.6720 us/op | 3.2400 us/op | 0.52 |
transfer serialized AttesterSlashing (33232 B) | 1.7740 us/op | 3.2800 us/op | 0.54 |
copy serialized AttesterSlashing (33232 B) | 3.6220 us/op | 8.3940 us/op | 0.43 |
transfer serialized Small SignedBeaconBlock (128000 B) | 2.4770 us/op | 3.3500 us/op | 0.74 |
copy serialized Small SignedBeaconBlock (128000 B) | 9.2860 us/op | 19.061 us/op | 0.49 |
transfer serialized Avg SignedBeaconBlock (200000 B) | 2.0600 us/op | 3.9420 us/op | 0.52 |
copy serialized Avg SignedBeaconBlock (200000 B) | 29.651 us/op | 26.402 us/op | 1.12 |
transfer serialized BlobsSidecar (524380 B) | 3.3100 us/op | 3.4700 us/op | 0.95 |
copy serialized BlobsSidecar (524380 B) | 110.69 us/op | 92.045 us/op | 1.20 |
transfer serialized Big SignedBeaconBlock (1000000 B) | 3.2580 us/op | 3.9060 us/op | 0.83 |
copy serialized Big SignedBeaconBlock (1000000 B) | 148.02 us/op | 185.71 us/op | 0.80 |
pass gossip attestations to forkchoice per slot | 2.7906 ms/op | 4.8240 ms/op | 0.58 |
forkChoice updateHead vc 100000 bc 64 eq 0 | 505.99 us/op | 778.95 us/op | 0.65 |
forkChoice updateHead vc 600000 bc 64 eq 0 | 2.8296 ms/op | 5.4654 ms/op | 0.52 |
forkChoice updateHead vc 1000000 bc 64 eq 0 | 4.4834 ms/op | 7.6666 ms/op | 0.58 |
forkChoice updateHead vc 600000 bc 320 eq 0 | 2.6025 ms/op | 4.6335 ms/op | 0.56 |
forkChoice updateHead vc 600000 bc 1200 eq 0 | 2.7597 ms/op | 4.6877 ms/op | 0.59 |
forkChoice updateHead vc 600000 bc 7200 eq 0 | 3.5532 ms/op | 5.7927 ms/op | 0.61 |
forkChoice updateHead vc 600000 bc 64 eq 1000 | 10.066 ms/op | 11.950 ms/op | 0.84 |
forkChoice updateHead vc 600000 bc 64 eq 10000 | 9.8411 ms/op | 12.882 ms/op | 0.76 |
forkChoice updateHead vc 600000 bc 64 eq 300000 | 12.167 ms/op | 17.332 ms/op | 0.70 |
computeDeltas 500000 validators 300 proto nodes | 3.2223 ms/op | 7.2438 ms/op | 0.44 |
computeDeltas 500000 validators 1200 proto nodes | 3.0290 ms/op | 7.0903 ms/op | 0.43 |
computeDeltas 500000 validators 7200 proto nodes | 3.0510 ms/op | 6.8198 ms/op | 0.45 |
computeDeltas 750000 validators 300 proto nodes | 4.5717 ms/op | 10.683 ms/op | 0.43 |
computeDeltas 750000 validators 1200 proto nodes | 4.5801 ms/op | 11.446 ms/op | 0.40 |
computeDeltas 750000 validators 7200 proto nodes | 4.8021 ms/op | 11.495 ms/op | 0.42 |
computeDeltas 1400000 validators 300 proto nodes | 9.1041 ms/op | 21.034 ms/op | 0.43 |
computeDeltas 1400000 validators 1200 proto nodes | 9.5471 ms/op | 20.810 ms/op | 0.46 |
computeDeltas 1400000 validators 7200 proto nodes | 9.1955 ms/op | 20.632 ms/op | 0.45 |
computeDeltas 2100000 validators 300 proto nodes | 14.739 ms/op | 31.794 ms/op | 0.46 |
computeDeltas 2100000 validators 1200 proto nodes | 14.322 ms/op | 32.440 ms/op | 0.44 |
computeDeltas 2100000 validators 7200 proto nodes | 13.803 ms/op | 33.384 ms/op | 0.41 |
altair processAttestation - 250000 vs - 7PWei normalcase | 2.2456 ms/op | 3.0120 ms/op | 0.75 |
altair processAttestation - 250000 vs - 7PWei worstcase | 2.2401 ms/op | 4.0666 ms/op | 0.55 |
altair processAttestation - setStatus - 1/6 committees join | 73.343 us/op | 177.31 us/op | 0.41 |
altair processAttestation - setStatus - 1/3 committees join | 161.55 us/op | 319.03 us/op | 0.51 |
altair processAttestation - setStatus - 1/2 committees join | 220.40 us/op | 450.73 us/op | 0.49 |
altair processAttestation - setStatus - 2/3 committees join | 289.27 us/op | 549.70 us/op | 0.53 |
altair processAttestation - setStatus - 4/5 committees join | 408.57 us/op | 794.91 us/op | 0.51 |
altair processAttestation - setStatus - 100% committees join | 493.27 us/op | 964.23 us/op | 0.51 |
altair processBlock - 250000 vs - 7PWei normalcase | 10.433 ms/op | 12.313 ms/op | 0.85 |
altair processBlock - 250000 vs - 7PWei normalcase hashState | 37.316 ms/op | 39.578 ms/op | 0.94 |
altair processBlock - 250000 vs - 7PWei worstcase | 36.573 ms/op | 52.074 ms/op | 0.70 |
altair processBlock - 250000 vs - 7PWei worstcase hashState | 98.342 ms/op | 119.03 ms/op | 0.83 |
phase0 processBlock - 250000 vs - 7PWei normalcase | 2.3978 ms/op | 3.1883 ms/op | 0.75 |
phase0 processBlock - 250000 vs - 7PWei worstcase | 28.525 ms/op | 35.840 ms/op | 0.80 |
altair processEth1Data - 250000 vs - 7PWei normalcase | 386.39 us/op | 617.30 us/op | 0.63 |
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 9.3720 us/op | 12.176 us/op | 0.77 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 41.066 us/op | 51.625 us/op | 0.80 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 16.335 us/op | 28.583 us/op | 0.57 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 15.245 us/op | 11.944 us/op | 1.28 |
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 134.73 us/op | 186.60 us/op | 0.72 |
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 722.16 us/op | 1.9649 ms/op | 0.37 |
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 1.1163 ms/op | 2.2379 ms/op | 0.50 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 997.23 us/op | 1.9800 ms/op | 0.50 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 2.6246 ms/op | 4.2417 ms/op | 0.62 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 1.7713 ms/op | 2.4916 ms/op | 0.71 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 4.7358 ms/op | 5.0910 ms/op | 0.93 |
Tree 40 250000 create | 301.31 ms/op | 430.68 ms/op | 0.70 |
Tree 40 250000 get(125000) | 117.39 ns/op | 223.41 ns/op | 0.53 |
Tree 40 250000 set(125000) | 771.38 ns/op | 1.1344 us/op | 0.68 |
Tree 40 250000 toArray() | 11.667 ms/op | 19.855 ms/op | 0.59 |
Tree 40 250000 iterate all - toArray() + loop | 13.522 ms/op | 20.737 ms/op | 0.65 |
Tree 40 250000 iterate all - get(i) | 49.231 ms/op | 70.157 ms/op | 0.70 |
MutableVector 250000 create | 10.362 ms/op | 21.963 ms/op | 0.47 |
MutableVector 250000 get(125000) | 6.0900 ns/op | 6.9230 ns/op | 0.88 |
MutableVector 250000 set(125000) | 214.94 ns/op | 271.19 ns/op | 0.79 |
MutableVector 250000 toArray() | 2.5047 ms/op | 3.8481 ms/op | 0.65 |
MutableVector 250000 iterate all - toArray() + loop | 2.3631 ms/op | 4.0270 ms/op | 0.59 |
MutableVector 250000 iterate all - get(i) | 1.3606 ms/op | 1.6652 ms/op | 0.82 |
Array 250000 create | 2.2278 ms/op | 3.3193 ms/op | 0.67 |
Array 250000 clone - spread | 1.3182 ms/op | 1.3150 ms/op | 1.00 |
Array 250000 get(125000) | 1.1390 ns/op | 1.1160 ns/op | 1.02 |
Array 250000 set(125000) | 1.3510 ns/op | 4.4140 ns/op | 0.31 |
Array 250000 iterate all - loop | 156.31 us/op | 180.76 us/op | 0.86 |
effectiveBalanceIncrements clone Uint8Array 300000 | 16.519 us/op | 29.528 us/op | 0.56 |
effectiveBalanceIncrements clone MutableVector 300000 | 482.00 ns/op | 368.00 ns/op | 1.31 |
effectiveBalanceIncrements rw all Uint8Array 300000 | 188.54 us/op | 221.26 us/op | 0.85 |
effectiveBalanceIncrements rw all MutableVector 300000 | 71.598 ms/op | 107.09 ms/op | 0.67 |
phase0 afterProcessEpoch - 250000 vs - 7PWei | 78.984 ms/op | 130.30 ms/op | 0.61 |
phase0 beforeProcessEpoch - 250000 vs - 7PWei | 43.295 ms/op | 59.801 ms/op | 0.72 |
altair processEpoch - mainnet_e81889 | 458.28 ms/op | 558.59 ms/op | 0.82 |
mainnet_e81889 - altair beforeProcessEpoch | 88.335 ms/op | 96.154 ms/op | 0.92 |
mainnet_e81889 - altair processJustificationAndFinalization | 12.705 us/op | 22.815 us/op | 0.56 |
mainnet_e81889 - altair processInactivityUpdates | 4.9915 ms/op | 7.0984 ms/op | 0.70 |
mainnet_e81889 - altair processRewardsAndPenalties | 50.154 ms/op | 75.348 ms/op | 0.67 |
mainnet_e81889 - altair processRegistryUpdates | 3.4610 us/op | 3.7170 us/op | 0.93 |
mainnet_e81889 - altair processSlashings | 816.00 ns/op | 593.00 ns/op | 1.38 |
mainnet_e81889 - altair processEth1DataReset | 961.00 ns/op | 787.00 ns/op | 1.22 |
mainnet_e81889 - altair processEffectiveBalanceUpdates | 2.2669 ms/op | 2.1611 ms/op | 1.05 |
mainnet_e81889 - altair processSlashingsReset | 5.7460 us/op | 5.2130 us/op | 1.10 |
mainnet_e81889 - altair processRandaoMixesReset | 8.0100 us/op | 9.6290 us/op | 0.83 |
mainnet_e81889 - altair processHistoricalRootsUpdate | 1.0650 us/op | 964.00 ns/op | 1.10 |
mainnet_e81889 - altair processParticipationFlagUpdates | 1.2450 us/op | 4.2250 us/op | 0.29 |
mainnet_e81889 - altair processSyncCommitteeUpdates | 846.00 ns/op | 1.1040 us/op | 0.77 |
mainnet_e81889 - altair afterProcessEpoch | 82.375 ms/op | 138.86 ms/op | 0.59 |
capella processEpoch - mainnet_e217614 | 2.3549 s/op | 2.9180 s/op | 0.81 |
mainnet_e217614 - capella beforeProcessEpoch | 462.15 ms/op | 627.88 ms/op | 0.74 |
mainnet_e217614 - capella processJustificationAndFinalization | 20.913 us/op | 18.746 us/op | 1.12 |
mainnet_e217614 - capella processInactivityUpdates | 22.344 ms/op | 21.696 ms/op | 1.03 |
mainnet_e217614 - capella processRewardsAndPenalties | 493.95 ms/op | 532.71 ms/op | 0.93 |
mainnet_e217614 - capella processRegistryUpdates | 27.978 us/op | 37.336 us/op | 0.75 |
mainnet_e217614 - capella processSlashings | 549.00 ns/op | 1.1460 us/op | 0.48 |
mainnet_e217614 - capella processEth1DataReset | 892.00 ns/op | 901.00 ns/op | 0.99 |
mainnet_e217614 - capella processEffectiveBalanceUpdates | 4.6737 ms/op | 7.3146 ms/op | 0.64 |
mainnet_e217614 - capella processSlashingsReset | 7.3810 us/op | 6.1430 us/op | 1.20 |
mainnet_e217614 - capella processRandaoMixesReset | 5.8310 us/op | 7.4680 us/op | 0.78 |
mainnet_e217614 - capella processHistoricalRootsUpdate | 959.00 ns/op | 1.1190 us/op | 0.86 |
mainnet_e217614 - capella processParticipationFlagUpdates | 3.4890 us/op | 2.4950 us/op | 1.40 |
mainnet_e217614 - capella afterProcessEpoch | 217.65 ms/op | 431.95 ms/op | 0.50 |
phase0 processEpoch - mainnet_e58758 | 419.99 ms/op | 655.17 ms/op | 0.64 |
mainnet_e58758 - phase0 beforeProcessEpoch | 125.49 ms/op | 194.83 ms/op | 0.64 |
mainnet_e58758 - phase0 processJustificationAndFinalization | 13.518 us/op | 27.195 us/op | 0.50 |
mainnet_e58758 - phase0 processRewardsAndPenalties | 50.809 ms/op | 73.411 ms/op | 0.69 |
mainnet_e58758 - phase0 processRegistryUpdates | 13.356 us/op | 19.910 us/op | 0.67 |
mainnet_e58758 - phase0 processSlashings | 943.00 ns/op | 1.4920 us/op | 0.63 |
mainnet_e58758 - phase0 processEth1DataReset | 867.00 ns/op | 972.00 ns/op | 0.89 |
mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 1.1668 ms/op | 2.3569 ms/op | 0.50 |
mainnet_e58758 - phase0 processSlashingsReset | 2.9340 us/op | 9.3550 us/op | 0.31 |
mainnet_e58758 - phase0 processRandaoMixesReset | 5.4760 us/op | 7.5860 us/op | 0.72 |
mainnet_e58758 - phase0 processHistoricalRootsUpdate | 924.00 ns/op | 779.00 ns/op | 1.19 |
mainnet_e58758 - phase0 processParticipationRecordUpdates | 5.2620 us/op | 4.2430 us/op | 1.24 |
mainnet_e58758 - phase0 afterProcessEpoch | 65.600 ms/op | 145.56 ms/op | 0.45 |
phase0 processEffectiveBalanceUpdates - 250000 normalcase | 1.1434 ms/op | 3.4505 ms/op | 0.33 |
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 1.4477 ms/op | 1.8976 ms/op | 0.76 |
altair processInactivityUpdates - 250000 normalcase | 36.919 ms/op | 40.179 ms/op | 0.92 |
altair processInactivityUpdates - 250000 worstcase | 31.543 ms/op | 43.076 ms/op | 0.73 |
phase0 processRegistryUpdates - 250000 normalcase | 13.150 us/op | 14.942 us/op | 0.88 |
phase0 processRegistryUpdates - 250000 badcase_full_deposits | 443.59 us/op | 592.83 us/op | 0.75 |
phase0 processRegistryUpdates - 250000 worstcase 0.5 | 157.95 ms/op | 189.33 ms/op | 0.83 |
altair processRewardsAndPenalties - 250000 normalcase | 58.603 ms/op | 74.104 ms/op | 0.79 |
altair processRewardsAndPenalties - 250000 worstcase | 62.062 ms/op | 78.553 ms/op | 0.79 |
phase0 getAttestationDeltas - 250000 normalcase | 6.7159 ms/op | 13.510 ms/op | 0.50 |
phase0 getAttestationDeltas - 250000 worstcase | 8.3072 ms/op | 14.297 ms/op | 0.58 |
phase0 processSlashings - 250000 worstcase | 79.483 us/op | 124.95 us/op | 0.64 |
altair processSyncCommitteeUpdates - 250000 | 132.67 ms/op | 221.35 ms/op | 0.60 |
BeaconState.hashTreeRoot - No change | 794.00 ns/op | 796.00 ns/op | 1.00 |
BeaconState.hashTreeRoot - 1 full validator | 108.32 us/op | 163.09 us/op | 0.66 |
BeaconState.hashTreeRoot - 32 full validator | 1.4712 ms/op | 1.9497 ms/op | 0.75 |
BeaconState.hashTreeRoot - 512 full validator | 17.841 ms/op | 20.584 ms/op | 0.87 |
BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 201.90 us/op | 224.08 us/op | 0.90 |
BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 2.3139 ms/op | 2.9543 ms/op | 0.78 |
BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 34.330 ms/op | 41.689 ms/op | 0.82 |
BeaconState.hashTreeRoot - 1 balances | 137.86 us/op | 168.72 us/op | 0.82 |
BeaconState.hashTreeRoot - 32 balances | 896.38 us/op | 1.6191 ms/op | 0.55 |
BeaconState.hashTreeRoot - 512 balances | 16.839 ms/op | 15.814 ms/op | 1.06 |
BeaconState.hashTreeRoot - 250000 balances | 208.69 ms/op | 279.37 ms/op | 0.75 |
aggregationBits - 2048 els - zipIndexesInBitList | 23.324 us/op | 21.786 us/op | 1.07 |
byteArrayEquals 32 | 68.446 ns/op | 104.12 ns/op | 0.66 |
Buffer.compare 32 | 38.560 ns/op | 71.186 ns/op | 0.54 |
byteArrayEquals 1024 | 1.7612 us/op | 2.8387 us/op | 0.62 |
Buffer.compare 1024 | 44.793 ns/op | 109.79 ns/op | 0.41 |
byteArrayEquals 16384 | 27.305 us/op | 45.471 us/op | 0.60 |
Buffer.compare 16384 | 235.50 ns/op | 335.92 ns/op | 0.70 |
byteArrayEquals 123687377 | 216.49 ms/op | 320.15 ms/op | 0.68 |
Buffer.compare 123687377 | 5.6612 ms/op | 10.152 ms/op | 0.56 |
byteArrayEquals 32 - diff last byte | 62.646 ns/op | 97.430 ns/op | 0.64 |
Buffer.compare 32 - diff last byte | 39.536 ns/op | 70.693 ns/op | 0.56 |
byteArrayEquals 1024 - diff last byte | 1.7910 us/op | 2.5657 us/op | 0.70 |
Buffer.compare 1024 - diff last byte | 47.679 ns/op | 85.146 ns/op | 0.56 |
byteArrayEquals 16384 - diff last byte | 28.122 us/op | 42.464 us/op | 0.66 |
Buffer.compare 16384 - diff last byte | 223.94 ns/op | 326.43 ns/op | 0.69 |
byteArrayEquals 123687377 - diff last byte | 207.28 ms/op | 329.61 ms/op | 0.63 |
Buffer.compare 123687377 - diff last byte | 6.3573 ms/op | 9.6581 ms/op | 0.66 |
byteArrayEquals 32 - random bytes | 5.8940 ns/op | 7.3640 ns/op | 0.80 |
Buffer.compare 32 - random bytes | 42.272 ns/op | 75.691 ns/op | 0.56 |
byteArrayEquals 1024 - random bytes | 4.6720 ns/op | 7.2060 ns/op | 0.65 |
Buffer.compare 1024 - random bytes | 40.656 ns/op | 73.090 ns/op | 0.56 |
byteArrayEquals 16384 - random bytes | 4.7590 ns/op | 6.9540 ns/op | 0.68 |
Buffer.compare 16384 - random bytes | 39.940 ns/op | 77.286 ns/op | 0.52 |
byteArrayEquals 123687377 - random bytes | 7.9900 ns/op | 10.470 ns/op | 0.76 |
Buffer.compare 123687377 - random bytes | 47.150 ns/op | 85.810 ns/op | 0.55 |
regular array get 100000 times | 42.181 us/op | 53.652 us/op | 0.79 |
wrappedArray get 100000 times | 42.064 us/op | 52.634 us/op | 0.80 |
arrayWithProxy get 100000 times | 10.813 ms/op | 17.387 ms/op | 0.62 |
ssz.Root.equals | 61.739 ns/op | 64.821 ns/op | 0.95 |
byteArrayEquals | 57.068 ns/op | 67.423 ns/op | 0.85 |
Buffer.compare | 9.9900 ns/op | 14.363 ns/op | 0.70 |
shuffle list - 16384 els | 4.6935 ms/op | 9.0366 ms/op | 0.52 |
shuffle list - 250000 els | 70.488 ms/op | 130.80 ms/op | 0.54 |
processSlot - 1 slots | 17.474 us/op | 21.229 us/op | 0.82 |
processSlot - 32 slots | 2.5170 ms/op | 5.2851 ms/op | 0.48 |
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 53.886 ms/op | 77.160 ms/op | 0.70 |
getCommitteeAssignments - req 1 vs - 250000 vc | 2.3012 ms/op | 2.9790 ms/op | 0.77 |
getCommitteeAssignments - req 100 vs - 250000 vc | 3.5092 ms/op | 4.6603 ms/op | 0.75 |
getCommitteeAssignments - req 1000 vs - 250000 vc | 3.7294 ms/op | 5.0380 ms/op | 0.74 |
findModifiedValidators - 10000 modified validators | 456.69 ms/op | 717.36 ms/op | 0.64 |
findModifiedValidators - 1000 modified validators | 334.27 ms/op | 594.24 ms/op | 0.56 |
findModifiedValidators - 100 modified validators | 321.28 ms/op | 601.65 ms/op | 0.53 |
findModifiedValidators - 10 modified validators | 319.42 ms/op | 577.11 ms/op | 0.55 |
findModifiedValidators - 1 modified validators | 325.25 ms/op | 587.87 ms/op | 0.55 |
findModifiedValidators - no difference | 324.91 ms/op | 596.76 ms/op | 0.54 |
compare ViewDUs | 3.9574 s/op | 5.6848 s/op | 0.70 |
compare each validator Uint8Array | 1.5808 s/op | 1.9743 s/op | 0.80 |
compare ViewDU to Uint8Array | 803.55 ms/op | 1.3324 s/op | 0.60 |
migrate state 1000000 validators, 24 modified, 0 new | 744.19 ms/op | 912.77 ms/op | 0.82 |
migrate state 1000000 validators, 1700 modified, 1000 new | 981.58 ms/op | 1.2319 s/op | 0.80 |
migrate state 1000000 validators, 3400 modified, 2000 new | 1.2187 s/op | 1.4799 s/op | 0.82 |
migrate state 1500000 validators, 24 modified, 0 new | 711.12 ms/op | 929.55 ms/op | 0.77 |
migrate state 1500000 validators, 1700 modified, 1000 new | 932.71 ms/op | 1.2460 s/op | 0.75 |
migrate state 1500000 validators, 3400 modified, 2000 new | 1.4756 s/op | 1.4744 s/op | 1.00 |
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 6.0900 ns/op | 4.9800 ns/op | 1.22 |
state getBlockRootAtSlot - 250000 vs - 7PWei | 1.1104 us/op | 852.45 ns/op | 1.30 |
computeProposers - vc 250000 | 8.6857 ms/op | 10.287 ms/op | 0.84 |
computeEpochShuffling - vc 250000 | 74.771 ms/op | 106.63 ms/op | 0.70 |
getNextSyncCommittee - vc 250000 | 113.57 ms/op | 174.34 ms/op | 0.65 |
computeSigningRoot for AttestationData | 33.773 us/op | 27.725 us/op | 1.22 |
hash AttestationData serialized data then Buffer.toString(base64) | 1.4082 us/op | 2.3285 us/op | 0.60 |
toHexString serialized data | 1.4671 us/op | 1.1082 us/op | 1.32 |
Buffer.toString(base64) | 222.62 ns/op | 235.07 ns/op | 0.95 |
by benchmarkbot/action
Few of the assertions shows good enough information in the summary logs, so why these don't have separate dump features for raw data. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
🎉 This PR is included in v1.16.0 🎉 |
Motivation
Improve the visibility into sim tests.
Description
Steps to test or reproduce