Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: track block production selection results and payload values #7203

Merged
merged 11 commits into from
Oct 29, 2024

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Oct 28, 2024

Related issues #5514, #5932, #6108

Copy link

codecov bot commented Oct 28, 2024

Codecov Report

Attention: Patch coverage is 6.66667% with 14 lines in your changes missing coverage. Please review.

Please upload report for BASE (unstable@3cd2f16). Learn more about missing BASE report.
Report is 2 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff             @@
##             unstable    #7203   +/-   ##
===========================================
  Coverage            ?   49.20%           
===========================================
  Files               ?      598           
  Lines               ?    39803           
  Branches            ?     2094           
===========================================
  Hits                ?    19587           
  Misses              ?    20176           
  Partials            ?       40           

Copy link
Contributor

github-actions bot commented Oct 28, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 1f7f452 Previous: e31d535 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.3292 ms/op 1.8643 ms/op 1.25
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 53.108 us/op 63.491 us/op 0.84
BLS verify - blst 952.59 us/op 1.0412 ms/op 0.91
BLS verifyMultipleSignatures 3 - blst 1.2702 ms/op 1.5194 ms/op 0.84
BLS verifyMultipleSignatures 8 - blst 1.9302 ms/op 2.1562 ms/op 0.90
BLS verifyMultipleSignatures 32 - blst 5.6445 ms/op 5.6267 ms/op 1.00
BLS verifyMultipleSignatures 64 - blst 10.735 ms/op 9.2408 ms/op 1.16
BLS verifyMultipleSignatures 128 - blst 17.456 ms/op 17.529 ms/op 1.00
BLS deserializing 10000 signatures 700.20 ms/op 695.08 ms/op 1.01
BLS deserializing 100000 signatures 6.9530 s/op 7.1611 s/op 0.97
BLS verifyMultipleSignatures - same message - 3 - blst 985.84 us/op 1.0295 ms/op 0.96
BLS verifyMultipleSignatures - same message - 8 - blst 1.0198 ms/op 1.1646 ms/op 0.88
BLS verifyMultipleSignatures - same message - 32 - blst 1.6941 ms/op 1.8586 ms/op 0.91
BLS verifyMultipleSignatures - same message - 64 - blst 2.5870 ms/op 2.6936 ms/op 0.96
BLS verifyMultipleSignatures - same message - 128 - blst 4.4054 ms/op 4.5283 ms/op 0.97
BLS aggregatePubkeys 32 - blst 20.036 us/op 20.415 us/op 0.98
BLS aggregatePubkeys 128 - blst 70.729 us/op 71.454 us/op 0.99
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 65.005 ms/op 90.143 ms/op 0.72
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 79.081 ms/op 64.858 ms/op 1.22
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 49.604 ms/op 50.049 ms/op 0.99
getSlashingsAndExits - default max 87.525 us/op 108.92 us/op 0.80
getSlashingsAndExits - 2k 285.02 us/op 365.21 us/op 0.78
proposeBlockBody type=full, size=empty 5.5530 ms/op 6.5426 ms/op 0.85
isKnown best case - 1 super set check 293.00 ns/op 392.00 ns/op 0.75
isKnown normal case - 2 super set checks 265.00 ns/op 375.00 ns/op 0.71
isKnown worse case - 16 super set checks 270.00 ns/op 345.00 ns/op 0.78
InMemoryCheckpointStateCache - add get delete 2.5790 us/op 3.1480 us/op 0.82
updateUnfinalizedPubkeys - updating 10 pubkeys 904.90 us/op 1.5430 ms/op 0.59
updateUnfinalizedPubkeys - updating 100 pubkeys 3.4465 ms/op 4.1302 ms/op 0.83
updateUnfinalizedPubkeys - updating 1000 pubkeys 50.495 ms/op 58.568 ms/op 0.86
validate api signedAggregateAndProof - struct 2.0855 ms/op 1.4634 ms/op 1.43
validate gossip signedAggregateAndProof - struct 1.8839 ms/op 1.5285 ms/op 1.23
batch validate gossip attestation - vc 640000 - chunk 32 139.06 us/op 143.13 us/op 0.97
batch validate gossip attestation - vc 640000 - chunk 64 120.09 us/op 127.61 us/op 0.94
batch validate gossip attestation - vc 640000 - chunk 128 112.42 us/op 123.46 us/op 0.91
batch validate gossip attestation - vc 640000 - chunk 256 110.13 us/op 123.17 us/op 0.89
pickEth1Vote - no votes 1.0992 ms/op 1.5972 ms/op 0.69
pickEth1Vote - max votes 7.2873 ms/op 9.0493 ms/op 0.81
pickEth1Vote - Eth1Data hashTreeRoot value x2048 14.344 ms/op 16.230 ms/op 0.88
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 19.584 ms/op 26.054 ms/op 0.75
pickEth1Vote - Eth1Data fastSerialize value x2048 494.45 us/op 611.54 us/op 0.81
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.4979 ms/op 5.1366 ms/op 0.49
bytes32 toHexString 520.00 ns/op 634.00 ns/op 0.82
bytes32 Buffer.toString(hex) 289.00 ns/op 259.00 ns/op 1.12
bytes32 Buffer.toString(hex) from Uint8Array 437.00 ns/op 478.00 ns/op 0.91
bytes32 Buffer.toString(hex) + 0x 261.00 ns/op 270.00 ns/op 0.97
Object access 1 prop 0.15700 ns/op 0.19700 ns/op 0.80
Map access 1 prop 0.14000 ns/op 0.14700 ns/op 0.95
Object get x1000 6.1350 ns/op 6.7410 ns/op 0.91
Map get x1000 6.6900 ns/op 7.2610 ns/op 0.92
Object set x1000 36.991 ns/op 48.895 ns/op 0.76
Map set x1000 24.746 ns/op 32.440 ns/op 0.76
Return object 10000 times 0.29940 ns/op 0.30600 ns/op 0.98
Throw Error 10000 times 3.5071 us/op 3.4664 us/op 1.01
toHex 148.50 ns/op 168.03 ns/op 0.88
Buffer.from 135.86 ns/op 163.97 ns/op 0.83
shared Buffer 97.888 ns/op 102.87 ns/op 0.95
fastMsgIdFn sha256 / 200 bytes 2.3040 us/op 2.4610 us/op 0.94
fastMsgIdFn h32 xxhash / 200 bytes 267.00 ns/op 295.00 ns/op 0.91
fastMsgIdFn h64 xxhash / 200 bytes 281.00 ns/op 290.00 ns/op 0.97
fastMsgIdFn sha256 / 1000 bytes 7.4290 us/op 7.9650 us/op 0.93
fastMsgIdFn h32 xxhash / 1000 bytes 371.00 ns/op 481.00 ns/op 0.77
fastMsgIdFn h64 xxhash / 1000 bytes 350.00 ns/op 370.00 ns/op 0.95
fastMsgIdFn sha256 / 10000 bytes 64.770 us/op 68.373 us/op 0.95
fastMsgIdFn h32 xxhash / 10000 bytes 1.9650 us/op 2.0450 us/op 0.96
fastMsgIdFn h64 xxhash / 10000 bytes 1.2550 us/op 1.2770 us/op 0.98
send data - 1000 256B messages 12.841 ms/op 14.442 ms/op 0.89
send data - 1000 512B messages 16.357 ms/op 19.225 ms/op 0.85
send data - 1000 1024B messages 29.267 ms/op 31.627 ms/op 0.93
send data - 1000 1200B messages 26.419 ms/op 33.476 ms/op 0.79
send data - 1000 2048B messages 33.673 ms/op 24.840 ms/op 1.36
send data - 1000 4096B messages 35.954 ms/op 33.861 ms/op 1.06
send data - 1000 16384B messages 78.627 ms/op 86.538 ms/op 0.91
send data - 1000 65536B messages 219.97 ms/op 225.43 ms/op 0.98
enrSubnets - fastDeserialize 64 bits 1.1990 us/op 1.2030 us/op 1.00
enrSubnets - ssz BitVector 64 bits 378.00 ns/op 393.00 ns/op 0.96
enrSubnets - fastDeserialize 4 bits 157.00 ns/op 156.00 ns/op 1.01
enrSubnets - ssz BitVector 4 bits 434.00 ns/op 368.00 ns/op 1.18
prioritizePeers score -10:0 att 32-0.1 sync 2-0 190.51 us/op 186.68 us/op 1.02
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 175.16 us/op 168.89 us/op 1.04
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 290.65 us/op 390.94 us/op 0.74
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 648.20 us/op 552.98 us/op 1.17
prioritizePeers score 0:0 att 64-1 sync 4-1 904.86 us/op 905.17 us/op 1.00
array of 16000 items push then shift 1.7043 us/op 1.7439 us/op 0.98
LinkedList of 16000 items push then shift 8.4420 ns/op 8.1180 ns/op 1.04
array of 16000 items push then pop 155.49 ns/op 144.32 ns/op 1.08
LinkedList of 16000 items push then pop 8.4230 ns/op 7.6730 ns/op 1.10
array of 24000 items push then shift 2.5401 us/op 2.6117 us/op 0.97
LinkedList of 24000 items push then shift 10.131 ns/op 8.9750 ns/op 1.13
array of 24000 items push then pop 212.30 ns/op 221.51 ns/op 0.96
LinkedList of 24000 items push then pop 8.3410 ns/op 9.0360 ns/op 0.92
intersect bitArray bitLen 8 6.9390 ns/op 7.1870 ns/op 0.97
intersect array and set length 8 88.572 ns/op 81.923 ns/op 1.08
intersect bitArray bitLen 128 31.818 ns/op 32.363 ns/op 0.98
intersect array and set length 128 989.98 ns/op 1.1142 us/op 0.89
bitArray.getTrueBitIndexes() bitLen 128 2.6180 us/op 3.3910 us/op 0.77
bitArray.getTrueBitIndexes() bitLen 248 4.3020 us/op 5.6550 us/op 0.76
bitArray.getTrueBitIndexes() bitLen 512 9.0740 us/op 11.749 us/op 0.77
Buffer.concat 32 items 1.1010 us/op 1.0970 us/op 1.00
Uint8Array.set 32 items 2.0960 us/op 1.7490 us/op 1.20
Buffer.copy 2.4680 us/op 2.0310 us/op 1.22
Uint8Array.set - with subarray 3.8050 us/op 2.9510 us/op 1.29
Uint8Array.set - without subarray 1.9490 us/op 1.6140 us/op 1.21
getUint32 - dataview 328.00 ns/op 310.00 ns/op 1.06
getUint32 - manual 284.00 ns/op 264.00 ns/op 1.08
Set add up to 64 items then delete first 3.1592 us/op 2.9342 us/op 1.08
OrderedSet add up to 64 items then delete first 4.8843 us/op 4.5476 us/op 1.07
Set add up to 64 items then delete last 3.4979 us/op 3.3722 us/op 1.04
OrderedSet add up to 64 items then delete last 5.3058 us/op 5.1247 us/op 1.04
Set add up to 64 items then delete middle 3.5361 us/op 3.0967 us/op 1.14
OrderedSet add up to 64 items then delete middle 6.9484 us/op 6.5689 us/op 1.06
Set add up to 128 items then delete first 7.0580 us/op 6.6376 us/op 1.06
OrderedSet add up to 128 items then delete first 11.222 us/op 9.2540 us/op 1.21
Set add up to 128 items then delete last 6.9360 us/op 6.1391 us/op 1.13
OrderedSet add up to 128 items then delete last 10.814 us/op 9.1129 us/op 1.19
Set add up to 128 items then delete middle 6.7757 us/op 5.8529 us/op 1.16
OrderedSet add up to 128 items then delete middle 17.730 us/op 16.062 us/op 1.10
Set add up to 256 items then delete first 14.217 us/op 12.426 us/op 1.14
OrderedSet add up to 256 items then delete first 23.098 us/op 20.780 us/op 1.11
Set add up to 256 items then delete last 13.711 us/op 11.202 us/op 1.22
OrderedSet add up to 256 items then delete last 21.416 us/op 19.349 us/op 1.11
Set add up to 256 items then delete middle 13.447 us/op 13.603 us/op 0.99
OrderedSet add up to 256 items then delete middle 50.299 us/op 49.147 us/op 1.02
transfer serialized Status (84 B) 1.5480 us/op 1.4460 us/op 1.07
copy serialized Status (84 B) 1.4600 us/op 1.2050 us/op 1.21
transfer serialized SignedVoluntaryExit (112 B) 1.6360 us/op 1.6920 us/op 0.97
copy serialized SignedVoluntaryExit (112 B) 1.4630 us/op 1.3670 us/op 1.07
transfer serialized ProposerSlashing (416 B) 2.0280 us/op 2.7720 us/op 0.73
copy serialized ProposerSlashing (416 B) 2.0800 us/op 2.5430 us/op 0.82
transfer serialized Attestation (485 B) 2.1440 us/op 1.9890 us/op 1.08
copy serialized Attestation (485 B) 2.1810 us/op 2.3410 us/op 0.93
transfer serialized AttesterSlashing (33232 B) 2.2830 us/op 2.3230 us/op 0.98
copy serialized AttesterSlashing (33232 B) 9.2600 us/op 6.5940 us/op 1.40
transfer serialized Small SignedBeaconBlock (128000 B) 3.2680 us/op 2.5030 us/op 1.31
copy serialized Small SignedBeaconBlock (128000 B) 30.252 us/op 17.490 us/op 1.73
transfer serialized Avg SignedBeaconBlock (200000 B) 4.0430 us/op 3.1900 us/op 1.27
copy serialized Avg SignedBeaconBlock (200000 B) 46.492 us/op 25.975 us/op 1.79
transfer serialized BlobsSidecar (524380 B) 5.2490 us/op 3.4580 us/op 1.52
copy serialized BlobsSidecar (524380 B) 132.82 us/op 123.51 us/op 1.08
transfer serialized Big SignedBeaconBlock (1000000 B) 4.9970 us/op 2.9610 us/op 1.69
copy serialized Big SignedBeaconBlock (1000000 B) 268.72 us/op 153.92 us/op 1.75
pass gossip attestations to forkchoice per slot 3.0072 ms/op 3.0024 ms/op 1.00
forkChoice updateHead vc 100000 bc 64 eq 0 492.37 us/op 480.48 us/op 1.02
forkChoice updateHead vc 600000 bc 64 eq 0 3.2716 ms/op 3.6366 ms/op 0.90
forkChoice updateHead vc 1000000 bc 64 eq 0 5.2900 ms/op 5.2992 ms/op 1.00
forkChoice updateHead vc 600000 bc 320 eq 0 3.0804 ms/op 3.2369 ms/op 0.95
forkChoice updateHead vc 600000 bc 1200 eq 0 3.0968 ms/op 3.1908 ms/op 0.97
forkChoice updateHead vc 600000 bc 7200 eq 0 3.7778 ms/op 4.1123 ms/op 0.92
forkChoice updateHead vc 600000 bc 64 eq 1000 10.597 ms/op 10.896 ms/op 0.97
forkChoice updateHead vc 600000 bc 64 eq 10000 10.548 ms/op 10.738 ms/op 0.98
forkChoice updateHead vc 600000 bc 64 eq 300000 14.618 ms/op 16.480 ms/op 0.89
computeDeltas 500000 validators 300 proto nodes 4.2732 ms/op 4.5967 ms/op 0.93
computeDeltas 500000 validators 1200 proto nodes 4.1141 ms/op 4.6185 ms/op 0.89
computeDeltas 500000 validators 7200 proto nodes 4.1340 ms/op 5.9533 ms/op 0.69
computeDeltas 750000 validators 300 proto nodes 6.2970 ms/op 6.7112 ms/op 0.94
computeDeltas 750000 validators 1200 proto nodes 6.2359 ms/op 6.7185 ms/op 0.93
computeDeltas 750000 validators 7200 proto nodes 6.2257 ms/op 7.3523 ms/op 0.85
computeDeltas 1400000 validators 300 proto nodes 11.594 ms/op 14.314 ms/op 0.81
computeDeltas 1400000 validators 1200 proto nodes 11.640 ms/op 14.282 ms/op 0.81
computeDeltas 1400000 validators 7200 proto nodes 11.641 ms/op 13.509 ms/op 0.86
computeDeltas 2100000 validators 300 proto nodes 17.563 ms/op 20.520 ms/op 0.86
computeDeltas 2100000 validators 1200 proto nodes 17.602 ms/op 20.708 ms/op 0.85
computeDeltas 2100000 validators 7200 proto nodes 17.620 ms/op 20.869 ms/op 0.84
altair processAttestation - 250000 vs - 7PWei normalcase 1.8305 ms/op 3.0707 ms/op 0.60
altair processAttestation - 250000 vs - 7PWei worstcase 2.6098 ms/op 3.9727 ms/op 0.66
altair processAttestation - setStatus - 1/6 committees join 92.514 us/op 106.03 us/op 0.87
altair processAttestation - setStatus - 1/3 committees join 184.81 us/op 201.07 us/op 0.92
altair processAttestation - setStatus - 1/2 committees join 256.45 us/op 260.63 us/op 0.98
altair processAttestation - setStatus - 2/3 committees join 320.36 us/op 351.00 us/op 0.91
altair processAttestation - setStatus - 4/5 committees join 464.96 us/op 494.44 us/op 0.94
altair processAttestation - setStatus - 100% committees join 559.47 us/op 627.72 us/op 0.89
altair processBlock - 250000 vs - 7PWei normalcase 4.7357 ms/op 6.1418 ms/op 0.77
altair processBlock - 250000 vs - 7PWei normalcase hashState 33.977 ms/op 30.310 ms/op 1.12
altair processBlock - 250000 vs - 7PWei worstcase 36.305 ms/op 40.382 ms/op 0.90
altair processBlock - 250000 vs - 7PWei worstcase hashState 87.467 ms/op 81.148 ms/op 1.08
phase0 processBlock - 250000 vs - 7PWei normalcase 2.1544 ms/op 2.7157 ms/op 0.79
phase0 processBlock - 250000 vs - 7PWei worstcase 23.735 ms/op 29.586 ms/op 0.80
altair processEth1Data - 250000 vs - 7PWei normalcase 339.03 us/op 646.76 us/op 0.52
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.1100 us/op 11.902 us/op 0.60
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 39.467 us/op 61.609 us/op 0.64
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 10.662 us/op 16.127 us/op 0.66
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 8.1660 us/op 9.5710 us/op 0.85
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 199.03 us/op 207.59 us/op 0.96
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.3977 ms/op 1.5946 ms/op 0.88
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.1348 ms/op 2.0450 ms/op 1.04
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.4493 ms/op 1.9876 ms/op 0.73
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.7492 ms/op 4.8668 ms/op 0.77
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.9318 ms/op 1.9986 ms/op 0.97
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.7023 ms/op 4.9579 ms/op 0.75
Tree 40 250000 create 215.69 ms/op 423.23 ms/op 0.51
Tree 40 250000 get(125000) 149.71 ns/op 165.95 ns/op 0.90
Tree 40 250000 set(125000) 694.54 ns/op 800.73 ns/op 0.87
Tree 40 250000 toArray() 21.611 ms/op 23.039 ms/op 0.94
Tree 40 250000 iterate all - toArray() + loop 21.919 ms/op 22.462 ms/op 0.98
Tree 40 250000 iterate all - get(i) 61.045 ms/op 66.650 ms/op 0.92
Array 250000 create 3.4273 ms/op 4.0566 ms/op 0.84
Array 250000 clone - spread 1.5504 ms/op 1.5670 ms/op 0.99
Array 250000 get(125000) 0.43900 ns/op 0.49400 ns/op 0.89
Array 250000 set(125000) 0.46300 ns/op 0.50700 ns/op 0.91
Array 250000 iterate all - loop 95.000 us/op 116.85 us/op 0.81
phase0 afterProcessEpoch - 250000 vs - 7PWei 54.031 ms/op 56.659 ms/op 0.95
Array.fill - length 1000000 3.6462 ms/op 4.8184 ms/op 0.76
Array push - length 1000000 18.880 ms/op 24.995 ms/op 0.76
Array.get 0.29470 ns/op 0.31676 ns/op 0.93
Uint8Array.get 0.45056 ns/op 0.47874 ns/op 0.94
phase0 beforeProcessEpoch - 250000 vs - 7PWei 18.743 ms/op 23.591 ms/op 0.79
altair processEpoch - mainnet_e81889 288.39 ms/op 297.39 ms/op 0.97
mainnet_e81889 - altair beforeProcessEpoch 18.700 ms/op 20.694 ms/op 0.90
mainnet_e81889 - altair processJustificationAndFinalization 19.924 us/op 14.037 us/op 1.42
mainnet_e81889 - altair processInactivityUpdates 5.3786 ms/op 7.8967 ms/op 0.68
mainnet_e81889 - altair processRewardsAndPenalties 53.530 ms/op 53.437 ms/op 1.00
mainnet_e81889 - altair processRegistryUpdates 1.8390 us/op 5.1530 us/op 0.36
mainnet_e81889 - altair processSlashings 370.00 ns/op 626.00 ns/op 0.59
mainnet_e81889 - altair processEth1DataReset 284.00 ns/op 864.00 ns/op 0.33
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.9378 ms/op 7.3277 ms/op 0.26
mainnet_e81889 - altair processSlashingsReset 2.6170 us/op 8.5920 us/op 0.30
mainnet_e81889 - altair processRandaoMixesReset 2.9670 us/op 11.857 us/op 0.25
mainnet_e81889 - altair processHistoricalRootsUpdate 272.00 ns/op 845.00 ns/op 0.32
mainnet_e81889 - altair processParticipationFlagUpdates 2.7160 us/op 5.8230 us/op 0.47
mainnet_e81889 - altair processSyncCommitteeUpdates 663.00 ns/op 1.2420 us/op 0.53
mainnet_e81889 - altair afterProcessEpoch 51.146 ms/op 58.809 ms/op 0.87
capella processEpoch - mainnet_e217614 1.1666 s/op 1.0876 s/op 1.07
mainnet_e217614 - capella beforeProcessEpoch 75.699 ms/op 88.855 ms/op 0.85
mainnet_e217614 - capella processJustificationAndFinalization 19.582 us/op 14.863 us/op 1.32
mainnet_e217614 - capella processInactivityUpdates 19.549 ms/op 18.654 ms/op 1.05
mainnet_e217614 - capella processRewardsAndPenalties 250.67 ms/op 252.58 ms/op 0.99
mainnet_e217614 - capella processRegistryUpdates 16.806 us/op 13.253 us/op 1.27
mainnet_e217614 - capella processSlashings 827.00 ns/op 811.00 ns/op 1.02
mainnet_e217614 - capella processEth1DataReset 395.00 ns/op 572.00 ns/op 0.69
mainnet_e217614 - capella processEffectiveBalanceUpdates 15.595 ms/op 17.460 ms/op 0.89
mainnet_e217614 - capella processSlashingsReset 3.6210 us/op 3.9040 us/op 0.93
mainnet_e217614 - capella processRandaoMixesReset 3.7200 us/op 9.8660 us/op 0.38
mainnet_e217614 - capella processHistoricalRootsUpdate 745.00 ns/op 1.0310 us/op 0.72
mainnet_e217614 - capella processParticipationFlagUpdates 4.5570 us/op 2.2980 us/op 1.98
mainnet_e217614 - capella afterProcessEpoch 126.85 ms/op 127.04 ms/op 1.00
phase0 processEpoch - mainnet_e58758 344.17 ms/op 358.01 ms/op 0.96
mainnet_e58758 - phase0 beforeProcessEpoch 77.529 ms/op 80.565 ms/op 0.96
mainnet_e58758 - phase0 processJustificationAndFinalization 18.539 us/op 24.101 us/op 0.77
mainnet_e58758 - phase0 processRewardsAndPenalties 40.042 ms/op 37.786 ms/op 1.06
mainnet_e58758 - phase0 processRegistryUpdates 9.2850 us/op 6.7820 us/op 1.37
mainnet_e58758 - phase0 processSlashings 463.00 ns/op 379.00 ns/op 1.22
mainnet_e58758 - phase0 processEth1DataReset 410.00 ns/op 440.00 ns/op 0.93
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.9563 ms/op 1.6200 ms/op 1.21
mainnet_e58758 - phase0 processSlashingsReset 3.2390 us/op 5.5490 us/op 0.58
mainnet_e58758 - phase0 processRandaoMixesReset 4.2870 us/op 5.0600 us/op 0.85
mainnet_e58758 - phase0 processHistoricalRootsUpdate 351.00 ns/op 386.00 ns/op 0.91
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.1530 us/op 3.9960 us/op 0.79
mainnet_e58758 - phase0 afterProcessEpoch 45.577 ms/op 45.190 ms/op 1.01
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.9246 ms/op 1.9441 ms/op 0.99
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.4509 ms/op 2.7186 ms/op 0.90
altair processInactivityUpdates - 250000 normalcase 23.996 ms/op 18.766 ms/op 1.28
altair processInactivityUpdates - 250000 worstcase 18.175 ms/op 20.122 ms/op 0.90
phase0 processRegistryUpdates - 250000 normalcase 8.5610 us/op 7.5670 us/op 1.13
phase0 processRegistryUpdates - 250000 badcase_full_deposits 338.69 us/op 409.73 us/op 0.83
phase0 processRegistryUpdates - 250000 worstcase 0.5 131.38 ms/op 133.74 ms/op 0.98
altair processRewardsAndPenalties - 250000 normalcase 40.867 ms/op 42.536 ms/op 0.96
altair processRewardsAndPenalties - 250000 worstcase 40.785 ms/op 43.526 ms/op 0.94
phase0 getAttestationDeltas - 250000 normalcase 8.7328 ms/op 7.9553 ms/op 1.10
phase0 getAttestationDeltas - 250000 worstcase 8.0470 ms/op 7.8388 ms/op 1.03
phase0 processSlashings - 250000 worstcase 124.38 us/op 104.26 us/op 1.19
altair processSyncCommitteeUpdates - 250000 136.87 ms/op 133.78 ms/op 1.02
BeaconState.hashTreeRoot - No change 327.00 ns/op 275.00 ns/op 1.19
BeaconState.hashTreeRoot - 1 full validator 137.74 us/op 109.20 us/op 1.26
BeaconState.hashTreeRoot - 32 full validator 1.7617 ms/op 1.2863 ms/op 1.37
BeaconState.hashTreeRoot - 512 full validator 10.994 ms/op 11.447 ms/op 0.96
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 152.58 us/op 148.23 us/op 1.03
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.0549 ms/op 2.2841 ms/op 0.90
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 24.168 ms/op 24.419 ms/op 0.99
BeaconState.hashTreeRoot - 1 balances 108.37 us/op 102.56 us/op 1.06
BeaconState.hashTreeRoot - 32 balances 834.18 us/op 1.0993 ms/op 0.76
BeaconState.hashTreeRoot - 512 balances 8.4330 ms/op 9.4847 ms/op 0.89
BeaconState.hashTreeRoot - 250000 balances 179.89 ms/op 203.26 ms/op 0.89
aggregationBits - 2048 els - zipIndexesInBitList 34.053 us/op 31.293 us/op 1.09
byteArrayEquals 32 55.631 ns/op 56.280 ns/op 0.99
Buffer.compare 32 17.543 ns/op 17.786 ns/op 0.99
byteArrayEquals 1024 1.6278 us/op 1.6445 us/op 0.99
Buffer.compare 1024 25.317 ns/op 25.934 ns/op 0.98
byteArrayEquals 16384 25.856 us/op 26.456 us/op 0.98
Buffer.compare 16384 179.38 ns/op 212.53 ns/op 0.84
byteArrayEquals 123687377 196.32 ms/op 207.72 ms/op 0.95
Buffer.compare 123687377 8.8094 ms/op 9.2970 ms/op 0.95
byteArrayEquals 32 - diff last byte 53.377 ns/op 55.497 ns/op 0.96
Buffer.compare 32 - diff last byte 17.393 ns/op 18.237 ns/op 0.95
byteArrayEquals 1024 - diff last byte 1.6141 us/op 1.6361 us/op 0.99
Buffer.compare 1024 - diff last byte 28.438 ns/op 26.661 ns/op 1.07
byteArrayEquals 16384 - diff last byte 25.839 us/op 26.644 us/op 0.97
Buffer.compare 16384 - diff last byte 206.88 ns/op 194.55 ns/op 1.06
byteArrayEquals 123687377 - diff last byte 194.45 ms/op 226.53 ms/op 0.86
Buffer.compare 123687377 - diff last byte 7.8156 ms/op 10.253 ms/op 0.76
byteArrayEquals 32 - random bytes 5.3280 ns/op 5.8580 ns/op 0.91
Buffer.compare 32 - random bytes 17.436 ns/op 19.958 ns/op 0.87
byteArrayEquals 1024 - random bytes 5.4840 ns/op 5.7870 ns/op 0.95
Buffer.compare 1024 - random bytes 17.495 ns/op 19.369 ns/op 0.90
byteArrayEquals 16384 - random bytes 5.3640 ns/op 5.6930 ns/op 0.94
Buffer.compare 16384 - random bytes 17.572 ns/op 19.978 ns/op 0.88
byteArrayEquals 123687377 - random bytes 7.1700 ns/op 8.0600 ns/op 0.89
Buffer.compare 123687377 - random bytes 21.330 ns/op 23.260 ns/op 0.92
regular array get 100000 times 41.185 us/op 41.363 us/op 1.00
wrappedArray get 100000 times 33.751 us/op 39.165 us/op 0.86
arrayWithProxy get 100000 times 13.586 ms/op 15.087 ms/op 0.90
ssz.Root.equals 47.106 ns/op 54.844 ns/op 0.86
byteArrayEquals 46.573 ns/op 49.743 ns/op 0.94
Buffer.compare 10.816 ns/op 11.336 ns/op 0.95
processSlot - 1 slots 17.618 us/op 21.197 us/op 0.83
processSlot - 32 slots 4.2356 ms/op 4.2545 ms/op 1.00
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 38.695 ms/op 42.710 ms/op 0.91
getCommitteeAssignments - req 1 vs - 250000 vc 2.1678 ms/op 2.2958 ms/op 0.94
getCommitteeAssignments - req 100 vs - 250000 vc 4.2181 ms/op 4.4652 ms/op 0.94
getCommitteeAssignments - req 1000 vs - 250000 vc 4.4908 ms/op 4.8483 ms/op 0.93
findModifiedValidators - 10000 modified validators 291.62 ms/op 349.56 ms/op 0.83
findModifiedValidators - 1000 modified validators 187.16 ms/op 223.65 ms/op 0.84
findModifiedValidators - 100 modified validators 153.79 ms/op 184.36 ms/op 0.83
findModifiedValidators - 10 modified validators 145.63 ms/op 169.37 ms/op 0.86
findModifiedValidators - 1 modified validators 149.38 ms/op 188.94 ms/op 0.79
findModifiedValidators - no difference 172.37 ms/op 184.61 ms/op 0.93
compare ViewDUs 3.4665 s/op 3.4213 s/op 1.01
compare each validator Uint8Array 1.2939 s/op 1.6916 s/op 0.76
compare ViewDU to Uint8Array 1.0824 s/op 1.2000 s/op 0.90
migrate state 1000000 validators, 24 modified, 0 new 704.70 ms/op 814.47 ms/op 0.87
migrate state 1000000 validators, 1700 modified, 1000 new 1.0782 s/op 1.2471 s/op 0.86
migrate state 1000000 validators, 3400 modified, 2000 new 1.2199 s/op 1.3889 s/op 0.88
migrate state 1500000 validators, 24 modified, 0 new 756.44 ms/op 873.05 ms/op 0.87
migrate state 1500000 validators, 1700 modified, 1000 new 1.0246 s/op 1.3284 s/op 0.77
migrate state 1500000 validators, 3400 modified, 2000 new 1.1538 s/op 1.3977 s/op 0.83
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.3000 ns/op 5.2100 ns/op 0.83
state getBlockRootAtSlot - 250000 vs - 7PWei 491.19 ns/op 1.1801 us/op 0.42
computeProposers - vc 250000 7.0165 ms/op 9.1240 ms/op 0.77
computeEpochShuffling - vc 250000 42.243 ms/op 47.541 ms/op 0.89
getNextSyncCommittee - vc 250000 129.58 ms/op 163.27 ms/op 0.79
computeSigningRoot for AttestationData 19.285 us/op 25.930 us/op 0.74
hash AttestationData serialized data then Buffer.toString(base64) 1.5725 us/op 1.8563 us/op 0.85
toHexString serialized data 893.18 ns/op 1.3802 us/op 0.65
Buffer.toString(base64) 173.10 ns/op 221.50 ns/op 0.78
nodejs block root to RootHex using toHex 153.94 ns/op 193.93 ns/op 0.79
nodejs block root to RootHex using toRootHex 89.084 ns/op 116.92 ns/op 0.76
browser block root to RootHex using the deprecated toHexString 222.50 ns/op 355.79 ns/op 0.63
browser block root to RootHex using toHex 180.40 ns/op 265.71 ns/op 0.68
browser block root to RootHex using toRootHex 159.91 ns/op 194.81 ns/op 0.82

by benchmarkbot/action

@nflaig nflaig changed the title feat: track block production selection source and reason feat: track block production selection results and block values Oct 29, 2024
@nflaig nflaig marked this pull request as ready for review October 29, 2024 15:14
@nflaig nflaig requested a review from a team as a code owner October 29, 2024 15:14
@nflaig nflaig changed the title feat: track block production selection results and block values feat: track block production selection results and payload values Oct 29, 2024
@wemeetagain wemeetagain merged commit 558ec2f into unstable Oct 29, 2024
20 checks passed
@wemeetagain wemeetagain deleted the nflaig/block-production-selection branch October 29, 2024 20:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants