lodestar icon indicating copy to clipboard operation
lodestar copied to clipboard

feat: placeholder PR for verge

Open g11tech opened this issue 1 year ago • 1 comments

supercedes https://github.com/ChainSafe/lodestar/pull/5805 for CI and testing

g11tech avatar Sep 05 '24 13:09 g11tech

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: aaba73f3f2b4eeb4d4a12748f3ea0afe8f6a824f Previous: b05c93e1471083d10fefda20c11514fd3afe94df Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.8955 ms/op 1.8922 ms/op 1.00
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 44.184 us/op 50.311 us/op 0.88
BLS verify - blst 747.27 us/op 910.11 us/op 0.82
BLS verifyMultipleSignatures 3 - blst 1.1524 ms/op 1.2178 ms/op 0.95
BLS verifyMultipleSignatures 8 - blst 1.5848 ms/op 1.9058 ms/op 0.83
BLS verifyMultipleSignatures 32 - blst 4.6622 ms/op 5.4504 ms/op 0.86
BLS verifyMultipleSignatures 64 - blst 8.6721 ms/op 10.784 ms/op 0.80
BLS verifyMultipleSignatures 128 - blst 16.636 ms/op 17.466 ms/op 0.95
BLS deserializing 10000 signatures 663.10 ms/op 682.83 ms/op 0.97
BLS deserializing 100000 signatures 6.5776 s/op 6.8248 s/op 0.96
BLS verifyMultipleSignatures - same message - 3 - blst 868.93 us/op 976.91 us/op 0.89
BLS verifyMultipleSignatures - same message - 8 - blst 950.10 us/op 1.0508 ms/op 0.90
BLS verifyMultipleSignatures - same message - 32 - blst 1.5770 ms/op 1.7194 ms/op 0.92
BLS verifyMultipleSignatures - same message - 64 - blst 2.3806 ms/op 2.6214 ms/op 0.91
BLS verifyMultipleSignatures - same message - 128 - blst 4.1142 ms/op 4.3843 ms/op 0.94
BLS aggregatePubkeys 32 - blst 18.941 us/op 20.089 us/op 0.94
BLS aggregatePubkeys 128 - blst 67.850 us/op 70.620 us/op 0.96
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 58.007 ms/op 66.242 ms/op 0.88
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 45.657 ms/op 65.782 ms/op 0.69
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 30.467 ms/op 40.036 ms/op 0.76
getSlashingsAndExits - default max 84.112 us/op 95.929 us/op 0.88
getSlashingsAndExits - 2k 244.02 us/op 325.96 us/op 0.75
proposeBlockBody type=full, size=empty 5.6013 ms/op 5.8315 ms/op 0.96
isKnown best case - 1 super set check 278.00 ns/op 337.00 ns/op 0.82
isKnown normal case - 2 super set checks 267.00 ns/op 323.00 ns/op 0.83
isKnown worse case - 16 super set checks 267.00 ns/op 308.00 ns/op 0.87
InMemoryCheckpointStateCache - add get delete 2.5350 us/op 3.1530 us/op 0.80
updateUnfinalizedPubkeys - updating 10 pubkeys 684.14 us/op 619.81 us/op 1.10
updateUnfinalizedPubkeys - updating 100 pubkeys 2.4567 ms/op 3.1527 ms/op 0.78
updateUnfinalizedPubkeys - updating 1000 pubkeys 49.575 ms/op 55.751 ms/op 0.89
validate api signedAggregateAndProof - struct 1.3189 ms/op 1.6223 ms/op 0.81
validate gossip signedAggregateAndProof - struct 1.3025 ms/op 2.5773 ms/op 0.51
validate gossip attestation - vc 640000 839.88 us/op 1.1353 ms/op 0.74
batch validate gossip attestation - vc 640000 - chunk 32 121.22 us/op 138.26 us/op 0.88
batch validate gossip attestation - vc 640000 - chunk 64 106.27 us/op 114.88 us/op 0.93
batch validate gossip attestation - vc 640000 - chunk 128 99.254 us/op 107.09 us/op 0.93
batch validate gossip attestation - vc 640000 - chunk 256 95.433 us/op 106.31 us/op 0.90
pickEth1Vote - no votes 990.65 us/op 1.2374 ms/op 0.80
pickEth1Vote - max votes 6.0009 ms/op 8.7804 ms/op 0.68
pickEth1Vote - Eth1Data hashTreeRoot value x2048 14.624 ms/op 13.294 ms/op 1.10
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 19.366 ms/op 19.563 ms/op 0.99
pickEth1Vote - Eth1Data fastSerialize value x2048 442.04 us/op 488.64 us/op 0.90
pickEth1Vote - Eth1Data fastSerialize tree x2048 4.3340 ms/op 2.7160 ms/op 1.60
bytes32 toHexString 409.00 ns/op 475.00 ns/op 0.86
bytes32 Buffer.toString(hex) 230.00 ns/op 264.00 ns/op 0.87
bytes32 Buffer.toString(hex) from Uint8Array 347.00 ns/op 390.00 ns/op 0.89
bytes32 Buffer.toString(hex) + 0x 238.00 ns/op 270.00 ns/op 0.88
Object access 1 prop 0.12800 ns/op 0.16000 ns/op 0.80
Map access 1 prop 0.12000 ns/op 0.15200 ns/op 0.79
Object get x1000 5.5090 ns/op 6.0560 ns/op 0.91
Map get x1000 6.2660 ns/op 6.7270 ns/op 0.93
Object set x1000 30.476 ns/op 35.636 ns/op 0.86
Map set x1000 20.875 ns/op 24.800 ns/op 0.84
Return object 10000 times 0.27340 ns/op 0.29920 ns/op 0.91
Throw Error 10000 times 3.1864 us/op 3.4705 us/op 0.92
toHex 137.13 ns/op 149.65 ns/op 0.92
Buffer.from 129.94 ns/op 139.04 ns/op 0.93
shared Buffer 82.060 ns/op 89.769 ns/op 0.91
fastMsgIdFn sha256 / 200 bytes 2.1860 us/op 2.3200 us/op 0.94
fastMsgIdFn h32 xxhash / 200 bytes 221.00 ns/op 245.00 ns/op 0.90
fastMsgIdFn h64 xxhash / 200 bytes 269.00 ns/op 280.00 ns/op 0.96
fastMsgIdFn sha256 / 1000 bytes 7.2380 us/op 7.8060 us/op 0.93
fastMsgIdFn h32 xxhash / 1000 bytes 347.00 ns/op 383.00 ns/op 0.91
fastMsgIdFn h64 xxhash / 1000 bytes 334.00 ns/op 364.00 ns/op 0.92
fastMsgIdFn sha256 / 10000 bytes 64.384 us/op 66.111 us/op 0.97
fastMsgIdFn h32 xxhash / 10000 bytes 1.7940 us/op 1.9200 us/op 0.93
fastMsgIdFn h64 xxhash / 10000 bytes 1.1600 us/op 1.2590 us/op 0.92
send data - 1000 256B messages 11.487 ms/op 13.248 ms/op 0.87
send data - 1000 512B messages 14.883 ms/op 17.720 ms/op 0.84
send data - 1000 1024B messages 23.994 ms/op 26.656 ms/op 0.90
send data - 1000 1200B messages 24.121 ms/op 23.076 ms/op 1.05
send data - 1000 2048B messages 30.799 ms/op 32.507 ms/op 0.95
send data - 1000 4096B messages 29.629 ms/op 32.327 ms/op 0.92
send data - 1000 16384B messages 68.125 ms/op 75.337 ms/op 0.90
send data - 1000 65536B messages 216.43 ms/op 223.62 ms/op 0.97
enrSubnets - fastDeserialize 64 bits 1.0820 us/op 1.0880 us/op 0.99
enrSubnets - ssz BitVector 64 bits 341.00 ns/op 402.00 ns/op 0.85
enrSubnets - fastDeserialize 4 bits 145.00 ns/op 195.00 ns/op 0.74
enrSubnets - ssz BitVector 4 bits 349.00 ns/op 447.00 ns/op 0.78
prioritizePeers score -10:0 att 32-0.1 sync 2-0 138.47 us/op 175.39 us/op 0.79
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 142.29 us/op 195.94 us/op 0.73
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 243.14 us/op 391.73 us/op 0.62
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 388.60 us/op 481.67 us/op 0.81
prioritizePeers score 0:0 att 64-1 sync 4-1 575.14 us/op 739.55 us/op 0.78
array of 16000 items push then shift 1.5893 us/op 1.6761 us/op 0.95
LinkedList of 16000 items push then shift 6.8120 ns/op 7.8510 ns/op 0.87
array of 16000 items push then pop 114.67 ns/op 140.00 ns/op 0.82
LinkedList of 16000 items push then pop 6.6920 ns/op 7.8060 ns/op 0.86
array of 24000 items push then shift 2.3419 us/op 2.5742 us/op 0.91
LinkedList of 24000 items push then shift 6.7920 ns/op 8.4590 ns/op 0.80
array of 24000 items push then pop 132.13 ns/op 188.23 ns/op 0.70
LinkedList of 24000 items push then pop 6.7160 ns/op 7.6230 ns/op 0.88
intersect bitArray bitLen 8 6.3100 ns/op 6.6780 ns/op 0.94
intersect array and set length 8 44.356 ns/op 54.364 ns/op 0.82
intersect bitArray bitLen 128 29.302 ns/op 31.345 ns/op 0.93
intersect array and set length 128 653.34 ns/op 929.26 ns/op 0.70
bitArray.getTrueBitIndexes() bitLen 128 1.7550 us/op 2.3200 us/op 0.76
bitArray.getTrueBitIndexes() bitLen 248 2.9490 us/op 4.3940 us/op 0.67
bitArray.getTrueBitIndexes() bitLen 512 6.5650 us/op 9.7670 us/op 0.67
Buffer.concat 32 items 899.00 ns/op 1.0730 us/op 0.84
Uint8Array.set 32 items 2.0500 us/op 1.6300 us/op 1.26
Buffer.copy 2.4060 us/op 2.1820 us/op 1.10
Uint8Array.set - with subarray 2.9490 us/op 3.1510 us/op 0.94
Uint8Array.set - without subarray 1.6450 us/op 1.6310 us/op 1.01
getUint32 - dataview 231.00 ns/op 316.00 ns/op 0.73
getUint32 - manual 150.00 ns/op 255.00 ns/op 0.59
Set add up to 64 items then delete first 2.1042 us/op 2.7536 us/op 0.76
OrderedSet add up to 64 items then delete first 3.1626 us/op 4.0716 us/op 0.78
Set add up to 64 items then delete last 2.4278 us/op 2.9983 us/op 0.81
OrderedSet add up to 64 items then delete last 3.5308 us/op 4.7860 us/op 0.74
Set add up to 64 items then delete middle 2.4920 us/op 2.6288 us/op 0.95
OrderedSet add up to 64 items then delete middle 5.0276 us/op 6.3458 us/op 0.79
Set add up to 128 items then delete first 4.9227 us/op 5.9284 us/op 0.83
OrderedSet add up to 128 items then delete first 7.3247 us/op 10.197 us/op 0.72
Set add up to 128 items then delete last 4.9087 us/op 5.8826 us/op 0.83
OrderedSet add up to 128 items then delete last 7.0897 us/op 8.8673 us/op 0.80
Set add up to 128 items then delete middle 4.8118 us/op 5.8234 us/op 0.83
OrderedSet add up to 128 items then delete middle 13.232 us/op 15.080 us/op 0.88
Set add up to 256 items then delete first 9.9725 us/op 10.754 us/op 0.93
OrderedSet add up to 256 items then delete first 15.043 us/op 16.999 us/op 0.88
Set add up to 256 items then delete last 9.6034 us/op 11.025 us/op 0.87
OrderedSet add up to 256 items then delete last 14.300 us/op 16.788 us/op 0.85
Set add up to 256 items then delete middle 9.4578 us/op 10.133 us/op 0.93
OrderedSet add up to 256 items then delete middle 40.267 us/op 43.009 us/op 0.94
transfer serialized Status (84 B) 1.4140 us/op 1.4900 us/op 0.95
copy serialized Status (84 B) 1.1830 us/op 1.2340 us/op 0.96
transfer serialized SignedVoluntaryExit (112 B) 1.5190 us/op 1.5790 us/op 0.96
copy serialized SignedVoluntaryExit (112 B) 1.1640 us/op 1.2630 us/op 0.92
transfer serialized ProposerSlashing (416 B) 1.8200 us/op 2.0960 us/op 0.87
copy serialized ProposerSlashing (416 B) 1.9800 us/op 1.8120 us/op 1.09
transfer serialized Attestation (485 B) 1.9980 us/op 1.9030 us/op 1.05
copy serialized Attestation (485 B) 1.7090 us/op 1.8250 us/op 0.94
transfer serialized AttesterSlashing (33232 B) 2.5210 us/op 2.5030 us/op 1.01
copy serialized AttesterSlashing (33232 B) 5.4570 us/op 5.4330 us/op 1.00
transfer serialized Small SignedBeaconBlock (128000 B) 2.9730 us/op 3.0420 us/op 0.98
copy serialized Small SignedBeaconBlock (128000 B) 15.745 us/op 15.933 us/op 0.99
transfer serialized Avg SignedBeaconBlock (200000 B) 3.4760 us/op 3.4720 us/op 1.00
copy serialized Avg SignedBeaconBlock (200000 B) 22.692 us/op 21.993 us/op 1.03
transfer serialized BlobsSidecar (524380 B) 3.3190 us/op 3.2270 us/op 1.03
copy serialized BlobsSidecar (524380 B) 129.64 us/op 97.114 us/op 1.33
transfer serialized Big SignedBeaconBlock (1000000 B) 2.8720 us/op 3.2000 us/op 0.90
copy serialized Big SignedBeaconBlock (1000000 B) 142.61 us/op 258.56 us/op 0.55
pass gossip attestations to forkchoice per slot 2.7257 ms/op 2.8533 ms/op 0.96
forkChoice updateHead vc 100000 bc 64 eq 0 483.01 us/op 497.46 us/op 0.97
forkChoice updateHead vc 600000 bc 64 eq 0 3.0119 ms/op 3.9550 ms/op 0.76
forkChoice updateHead vc 1000000 bc 64 eq 0 5.0694 ms/op 5.2531 ms/op 0.97
forkChoice updateHead vc 600000 bc 320 eq 0 3.5806 ms/op 3.0745 ms/op 1.16
forkChoice updateHead vc 600000 bc 1200 eq 0 3.0856 ms/op 3.2760 ms/op 0.94
forkChoice updateHead vc 600000 bc 7200 eq 0 3.5816 ms/op 3.7638 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 1000 10.253 ms/op 10.896 ms/op 0.94
forkChoice updateHead vc 600000 bc 64 eq 10000 10.436 ms/op 10.949 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 300000 14.166 ms/op 14.463 ms/op 0.98
computeDeltas 500000 validators 300 proto nodes 3.3976 ms/op 3.7476 ms/op 0.91
computeDeltas 500000 validators 1200 proto nodes 3.4290 ms/op 3.7564 ms/op 0.91
computeDeltas 500000 validators 7200 proto nodes 3.4746 ms/op 3.8664 ms/op 0.90
computeDeltas 750000 validators 300 proto nodes 5.0553 ms/op 5.4558 ms/op 0.93
computeDeltas 750000 validators 1200 proto nodes 5.0302 ms/op 5.4714 ms/op 0.92
computeDeltas 750000 validators 7200 proto nodes 5.1194 ms/op 5.3540 ms/op 0.96
computeDeltas 1400000 validators 300 proto nodes 9.6172 ms/op 10.441 ms/op 0.92
computeDeltas 1400000 validators 1200 proto nodes 9.5321 ms/op 10.633 ms/op 0.90
computeDeltas 1400000 validators 7200 proto nodes 9.4700 ms/op 10.172 ms/op 0.93
computeDeltas 2100000 validators 300 proto nodes 14.262 ms/op 15.100 ms/op 0.94
computeDeltas 2100000 validators 1200 proto nodes 14.203 ms/op 15.241 ms/op 0.93
computeDeltas 2100000 validators 7200 proto nodes 14.165 ms/op 15.623 ms/op 0.91
altair processAttestation - 250000 vs - 7PWei normalcase 1.6384 ms/op 2.1149 ms/op 0.77
altair processAttestation - 250000 vs - 7PWei worstcase 2.4722 ms/op 3.5275 ms/op 0.70
altair processAttestation - setStatus - 1/6 committees join 83.412 us/op 103.77 us/op 0.80
altair processAttestation - setStatus - 1/3 committees join 165.93 us/op 175.70 us/op 0.94
altair processAttestation - setStatus - 1/2 committees join 242.18 us/op 245.06 us/op 0.99
altair processAttestation - setStatus - 2/3 committees join 314.67 us/op 325.33 us/op 0.97
altair processAttestation - setStatus - 4/5 committees join 440.35 us/op 479.87 us/op 0.92
altair processAttestation - setStatus - 100% committees join 542.86 us/op 573.26 us/op 0.95
altair processBlock - 250000 vs - 7PWei normalcase 3.6361 ms/op 4.2532 ms/op 0.85
altair processBlock - 250000 vs - 7PWei normalcase hashState 28.102 ms/op 27.265 ms/op 1.03
altair processBlock - 250000 vs - 7PWei worstcase 33.182 ms/op 41.032 ms/op 0.81
altair processBlock - 250000 vs - 7PWei worstcase hashState 67.630 ms/op 93.696 ms/op 0.72
phase0 processBlock - 250000 vs - 7PWei normalcase 1.7313 ms/op 2.6724 ms/op 0.65
phase0 processBlock - 250000 vs - 7PWei worstcase 19.164 ms/op 25.272 ms/op 0.76
altair processEth1Data - 250000 vs - 7PWei normalcase 276.20 us/op 375.11 us/op 0.74
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 4.9660 us/op 6.8920 us/op 0.72
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 26.964 us/op 37.023 us/op 0.73
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 8.0500 us/op 9.7680 us/op 0.82
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 4.9980 us/op 6.2710 us/op 0.80
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 111.41 us/op 158.84 us/op 0.70
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.1539 ms/op 1.3477 ms/op 0.86
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.6425 ms/op 1.8789 ms/op 0.87
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.5472 ms/op 1.5759 ms/op 0.98
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.6199 ms/op 3.5937 ms/op 1.01
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.5972 ms/op 2.4625 ms/op 0.65
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.7473 ms/op 3.4929 ms/op 1.07
Tree 40 250000 create 199.59 ms/op 217.23 ms/op 0.92
Tree 40 250000 get(125000) 143.86 ns/op 153.43 ns/op 0.94
Tree 40 250000 set(125000) 623.33 ns/op 700.02 ns/op 0.89
Tree 40 250000 toArray() 14.857 ms/op 20.130 ms/op 0.74
Tree 40 250000 iterate all - toArray() + loop 15.084 ms/op 20.919 ms/op 0.72
Tree 40 250000 iterate all - get(i) 51.521 ms/op 57.789 ms/op 0.89
Array 250000 create 2.9553 ms/op 3.2383 ms/op 0.91
Array 250000 clone - spread 1.4071 ms/op 1.4802 ms/op 0.95
Array 250000 get(125000) 0.41100 ns/op 0.42100 ns/op 0.98
Array 250000 set(125000) 0.42300 ns/op 0.43100 ns/op 0.98
Array 250000 iterate all - loop 80.289 us/op 82.040 us/op 0.98
phase0 afterProcessEpoch - 250000 vs - 7PWei 90.417 ms/op 94.741 ms/op 0.95
Array.fill - length 1000000 3.4938 ms/op 3.8215 ms/op 0.91
Array push - length 1000000 16.737 ms/op 21.785 ms/op 0.77
Array.get 0.25558 ns/op 0.29227 ns/op 0.87
Uint8Array.get 0.41359 ns/op 0.44766 ns/op 0.92
phase0 beforeProcessEpoch - 250000 vs - 7PWei 16.152 ms/op 17.651 ms/op 0.92
altair processEpoch - mainnet_e81889 311.88 ms/op 359.23 ms/op 0.87
mainnet_e81889 - altair beforeProcessEpoch 17.505 ms/op 18.440 ms/op 0.95
mainnet_e81889 - altair processJustificationAndFinalization 12.262 us/op 17.955 us/op 0.68
mainnet_e81889 - altair processInactivityUpdates 4.9515 ms/op 5.2782 ms/op 0.94
mainnet_e81889 - altair processRewardsAndPenalties 45.232 ms/op 59.699 ms/op 0.76
mainnet_e81889 - altair processRegistryUpdates 1.6410 us/op 3.0090 us/op 0.55
mainnet_e81889 - altair processSlashings 434.00 ns/op 605.00 ns/op 0.72
mainnet_e81889 - altair processEth1DataReset 324.00 ns/op 379.00 ns/op 0.85
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.9182 ms/op 2.6697 ms/op 0.72
mainnet_e81889 - altair processSlashingsReset 2.5930 us/op 2.5420 us/op 1.02
mainnet_e81889 - altair processRandaoMixesReset 4.7850 us/op 3.1160 us/op 1.54
mainnet_e81889 - altair processHistoricalRootsUpdate 541.00 ns/op 832.00 ns/op 0.65
mainnet_e81889 - altair processParticipationFlagUpdates 1.6010 us/op 3.0030 us/op 0.53
mainnet_e81889 - altair processSyncCommitteeUpdates 429.00 ns/op 477.00 ns/op 0.90
mainnet_e81889 - altair afterProcessEpoch 93.251 ms/op 99.297 ms/op 0.94
capella processEpoch - mainnet_e217614 1.2316 s/op 1.2617 s/op 0.98
mainnet_e217614 - capella beforeProcessEpoch 69.742 ms/op 73.985 ms/op 0.94
mainnet_e217614 - capella processJustificationAndFinalization 14.521 us/op 23.602 us/op 0.62
mainnet_e217614 - capella processInactivityUpdates 16.866 ms/op 16.281 ms/op 1.04
mainnet_e217614 - capella processRewardsAndPenalties 226.60 ms/op 280.78 ms/op 0.81
mainnet_e217614 - capella processRegistryUpdates 12.846 us/op 20.223 us/op 0.64
mainnet_e217614 - capella processSlashings 392.00 ns/op 658.00 ns/op 0.60
mainnet_e217614 - capella processEth1DataReset 310.00 ns/op 603.00 ns/op 0.51
mainnet_e217614 - capella processEffectiveBalanceUpdates 12.016 ms/op 12.762 ms/op 0.94
mainnet_e217614 - capella processSlashingsReset 3.2450 us/op 3.1980 us/op 1.01
mainnet_e217614 - capella processRandaoMixesReset 3.8820 us/op 4.3990 us/op 0.88
mainnet_e217614 - capella processHistoricalRootsUpdate 725.00 ns/op 479.00 ns/op 1.51
mainnet_e217614 - capella processParticipationFlagUpdates 1.9650 us/op 3.9390 us/op 0.50
mainnet_e217614 - capella afterProcessEpoch 252.86 ms/op 238.58 ms/op 1.06
phase0 processEpoch - mainnet_e58758 407.33 ms/op 436.80 ms/op 0.93
mainnet_e58758 - phase0 beforeProcessEpoch 72.220 ms/op 83.891 ms/op 0.86
mainnet_e58758 - phase0 processJustificationAndFinalization 17.068 us/op 22.790 us/op 0.75
mainnet_e58758 - phase0 processRewardsAndPenalties 33.520 ms/op 36.336 ms/op 0.92
mainnet_e58758 - phase0 processRegistryUpdates 7.5940 us/op 12.488 us/op 0.61
mainnet_e58758 - phase0 processSlashings 379.00 ns/op 490.00 ns/op 0.77
mainnet_e58758 - phase0 processEth1DataReset 325.00 ns/op 548.00 ns/op 0.59
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.2296 ms/op 2.9223 ms/op 0.42
mainnet_e58758 - phase0 processSlashingsReset 3.1130 us/op 4.1130 us/op 0.76
mainnet_e58758 - phase0 processRandaoMixesReset 4.0650 us/op 5.7890 us/op 0.70
mainnet_e58758 - phase0 processHistoricalRootsUpdate 358.00 ns/op 469.00 ns/op 0.76
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.0550 us/op 4.3250 us/op 0.71
mainnet_e58758 - phase0 afterProcessEpoch 78.200 ms/op 82.402 ms/op 0.95
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4317 ms/op 1.3079 ms/op 1.09
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.2704 ms/op 2.1866 ms/op 1.04
altair processInactivityUpdates - 250000 normalcase 16.083 ms/op 21.012 ms/op 0.77
altair processInactivityUpdates - 250000 worstcase 13.863 ms/op 21.391 ms/op 0.65
phase0 processRegistryUpdates - 250000 normalcase 5.7350 us/op 6.1370 us/op 0.93
phase0 processRegistryUpdates - 250000 badcase_full_deposits 236.95 us/op 341.00 us/op 0.69
phase0 processRegistryUpdates - 250000 worstcase 0.5 117.45 ms/op 122.16 ms/op 0.96
altair processRewardsAndPenalties - 250000 normalcase 41.871 ms/op 48.660 ms/op 0.86
altair processRewardsAndPenalties - 250000 worstcase 39.973 ms/op 56.556 ms/op 0.71
phase0 getAttestationDeltas - 250000 normalcase 6.8337 ms/op 7.1894 ms/op 0.95
phase0 getAttestationDeltas - 250000 worstcase 6.8327 ms/op 7.0507 ms/op 0.97
phase0 processSlashings - 250000 worstcase 75.518 us/op 120.83 us/op 0.63
altair processSyncCommitteeUpdates - 250000 121.47 ms/op 121.16 ms/op 1.00
BeaconState.hashTreeRoot - No change 252.00 ns/op 258.00 ns/op 0.98
BeaconState.hashTreeRoot - 1 full validator 127.02 us/op 147.99 us/op 0.86
BeaconState.hashTreeRoot - 32 full validator 1.1901 ms/op 1.6052 ms/op 0.74
BeaconState.hashTreeRoot - 512 full validator 11.731 ms/op 13.486 ms/op 0.87
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 143.46 us/op 142.53 us/op 1.01
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.7011 ms/op 2.1058 ms/op 0.81
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 25.190 ms/op 29.176 ms/op 0.86
BeaconState.hashTreeRoot - 1 balances 105.61 us/op 133.49 us/op 0.79
BeaconState.hashTreeRoot - 32 balances 1.0048 ms/op 1.1740 ms/op 0.86
BeaconState.hashTreeRoot - 512 balances 9.7076 ms/op 11.658 ms/op 0.83
BeaconState.hashTreeRoot - 250000 balances 178.76 ms/op 190.76 ms/op 0.94
aggregationBits - 2048 els - zipIndexesInBitList 22.713 us/op 23.370 us/op 0.97
byteArrayEquals 32 50.657 ns/op 51.519 ns/op 0.98
Buffer.compare 32 16.546 ns/op 16.419 ns/op 1.01
byteArrayEquals 1024 1.4987 us/op 1.5260 us/op 0.98
Buffer.compare 1024 24.716 ns/op 23.599 ns/op 1.05
byteArrayEquals 16384 23.860 us/op 24.250 us/op 0.98
Buffer.compare 16384 194.92 ns/op 190.85 ns/op 1.02
byteArrayEquals 123687377 179.98 ms/op 183.35 ms/op 0.98
Buffer.compare 123687377 6.0819 ms/op 6.1803 ms/op 0.98
byteArrayEquals 32 - diff last byte 49.627 ns/op 51.871 ns/op 0.96
Buffer.compare 32 - diff last byte 16.298 ns/op 16.811 ns/op 0.97
byteArrayEquals 1024 - diff last byte 1.4954 us/op 1.5570 us/op 0.96
Buffer.compare 1024 - diff last byte 23.901 ns/op 25.262 ns/op 0.95
byteArrayEquals 16384 - diff last byte 23.793 us/op 24.810 us/op 0.96
Buffer.compare 16384 - diff last byte 192.95 ns/op 195.81 ns/op 0.99
byteArrayEquals 123687377 - diff last byte 179.61 ms/op 185.48 ms/op 0.97
Buffer.compare 123687377 - diff last byte 6.0900 ms/op 6.1979 ms/op 0.98
byteArrayEquals 32 - random bytes 4.8980 ns/op 5.0080 ns/op 0.98
Buffer.compare 32 - random bytes 16.278 ns/op 16.699 ns/op 0.97
byteArrayEquals 1024 - random bytes 4.8760 ns/op 5.0240 ns/op 0.97
Buffer.compare 1024 - random bytes 16.317 ns/op 16.664 ns/op 0.98
byteArrayEquals 16384 - random bytes 4.8670 ns/op 5.0120 ns/op 0.97
Buffer.compare 16384 - random bytes 16.256 ns/op 17.000 ns/op 0.96
byteArrayEquals 123687377 - random bytes 6.0400 ns/op 6.3100 ns/op 0.96
Buffer.compare 123687377 - random bytes 17.430 ns/op 17.950 ns/op 0.97
regular array get 100000 times 40.202 us/op 41.309 us/op 0.97
wrappedArray get 100000 times 31.042 us/op 32.121 us/op 0.97
arrayWithProxy get 100000 times 12.445 ms/op 14.838 ms/op 0.84
ssz.Root.equals 43.404 ns/op 44.671 ns/op 0.97
byteArrayEquals 42.852 ns/op 43.937 ns/op 0.98
Buffer.compare 9.8770 ns/op 10.101 ns/op 0.98
shuffle list - 16384 els 5.9793 ms/op 5.9155 ms/op 1.01
shuffle list - 250000 els 86.014 ms/op 87.288 ms/op 0.99
processSlot - 1 slots 13.206 us/op 14.754 us/op 0.90
processSlot - 32 slots 2.8686 ms/op 3.4247 ms/op 0.84
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 37.117 ms/op 42.149 ms/op 0.88
getCommitteeAssignments - req 1 vs - 250000 vc 2.0538 ms/op 2.1085 ms/op 0.97
getCommitteeAssignments - req 100 vs - 250000 vc 3.9457 ms/op 4.0632 ms/op 0.97
getCommitteeAssignments - req 1000 vs - 250000 vc 4.1969 ms/op 4.4299 ms/op 0.95
findModifiedValidators - 10000 modified validators 238.05 ms/op 248.60 ms/op 0.96
findModifiedValidators - 1000 modified validators 165.04 ms/op 173.35 ms/op 0.95
findModifiedValidators - 100 modified validators 141.09 ms/op 157.35 ms/op 0.90
findModifiedValidators - 10 modified validators 131.70 ms/op 163.10 ms/op 0.81
findModifiedValidators - 1 modified validators 135.15 ms/op 157.23 ms/op 0.86
findModifiedValidators - no difference 167.66 ms/op 161.34 ms/op 1.04
compare ViewDUs 2.9429 s/op 3.1548 s/op 0.93
compare each validator Uint8Array 1.3522 s/op 1.8921 s/op 0.71
compare ViewDU to Uint8Array 949.53 ms/op 959.79 ms/op 0.99
migrate state 1000000 validators, 24 modified, 0 new 588.19 ms/op 622.81 ms/op 0.94
migrate state 1000000 validators, 1700 modified, 1000 new 838.67 ms/op 876.93 ms/op 0.96
migrate state 1000000 validators, 3400 modified, 2000 new 1.0257 s/op 1.1290 s/op 0.91
migrate state 1500000 validators, 24 modified, 0 new 608.27 ms/op 634.19 ms/op 0.96
migrate state 1500000 validators, 1700 modified, 1000 new 810.93 ms/op 897.46 ms/op 0.90
migrate state 1500000 validators, 3400 modified, 2000 new 1.0138 s/op 1.1186 s/op 0.91
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.2900 ns/op 4.5300 ns/op 0.95
state getBlockRootAtSlot - 250000 vs - 7PWei 670.24 ns/op 686.92 ns/op 0.98
computeProposers - vc 250000 7.8106 ms/op 8.2807 ms/op 0.94
computeEpochShuffling - vc 250000 86.014 ms/op 92.225 ms/op 0.93
getNextSyncCommittee - vc 250000 121.37 ms/op 129.70 ms/op 0.94
computeSigningRoot for AttestationData 21.761 us/op 20.795 us/op 1.05
hash AttestationData serialized data then Buffer.toString(base64) 1.4842 us/op 1.5428 us/op 0.96
toHexString serialized data 834.69 ns/op 944.59 ns/op 0.88
Buffer.toString(base64) 165.06 ns/op 185.19 ns/op 0.89
nodejs block root to RootHex using toHex 140.34 ns/op 146.32 ns/op 0.96
nodejs block root to RootHex using toRootHex 90.235 ns/op 88.568 ns/op 1.02
browser block root to RootHex using the deprecated toHexString 216.19 ns/op 227.77 ns/op 0.95
browser block root to RootHex using toHex 172.26 ns/op 184.91 ns/op 0.93
browser block root to RootHex using toRootHex 152.26 ns/op 171.18 ns/op 0.89

by benchmarkbot/action

github-actions[bot] avatar Sep 07 '24 14:09 github-actions[bot]

Closing PR as stale. No progress AFAIK is made to continue verkle implementations.

philknows avatar Sep 03 '25 13:09 philknows