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: auto use produceBlockV3 deneb+ unless specified #6262

Merged
merged 3 commits into from
Jan 10, 2024

Conversation

g11tech
Copy link
Contributor

@g11tech g11tech commented Jan 8, 2024

produceblockv3 is what is supposed to be used post deneb desipe our prodduceblockv2 and priduceblindedblockv2 being forward compatible with the deneb . this PR puts the deneb proposals on produceblockb3

@g11tech g11tech requested a review from a team as a code owner January 8, 2024 19:35
jeluard
jeluard previously approved these changes Jan 8, 2024
Copy link

codecov bot commented Jan 8, 2024

Codecov Report

Merging #6262 (6856786) into unstable (ea49409) will not change coverage.
Report is 4 commits behind head on unstable.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6262   +/-   ##
=========================================
  Coverage     80.38%   80.38%           
=========================================
  Files           202      202           
  Lines         19622    19622           
  Branches       1176     1176           
=========================================
  Hits          15773    15773           
  Misses         3821     3821           
  Partials         28       28           

Copy link
Contributor

github-actions bot commented Jan 8, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 0919738 Previous: 0f377dd Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.1058 ms/op 623.15 us/op 1.77
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 209.90 us/op 105.94 us/op 1.98
BLS verify - blst-native 1.9092 ms/op 1.3688 ms/op 1.39
BLS verifyMultipleSignatures 3 - blst-native 3.9294 ms/op 2.8634 ms/op 1.37
BLS verifyMultipleSignatures 8 - blst-native 8.9074 ms/op 6.2765 ms/op 1.42
BLS verifyMultipleSignatures 32 - blst-native 29.753 ms/op 23.124 ms/op 1.29
BLS verifyMultipleSignatures 64 - blst-native 62.292 ms/op 46.219 ms/op 1.35
BLS verifyMultipleSignatures 128 - blst-native 122.05 ms/op 89.538 ms/op 1.36
BLS deserializing 10000 signatures 1.1372 s/op 960.87 ms/op 1.18
BLS deserializing 100000 signatures 9.5379 s/op 9.5559 s/op 1.00
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.4415 ms/op 1.4111 ms/op 1.02
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.6030 ms/op 1.6859 ms/op 0.95
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.3509 ms/op 2.5325 ms/op 0.93
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.4990 ms/op 3.7940 ms/op 0.92
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.7606 ms/op 6.1571 ms/op 0.94
BLS aggregatePubkeys 32 - blst-native 26.183 us/op 27.958 us/op 0.94
BLS aggregatePubkeys 128 - blst-native 101.48 us/op 103.45 us/op 0.98
getAttestationsForBlock 51.209 ms/op 61.151 ms/op 0.84
getSlashingsAndExits - default max 134.09 us/op 269.28 us/op 0.50
getSlashingsAndExits - 2k 440.86 us/op 466.74 us/op 0.94
proposeBlockBody type=full, size=empty 6.1331 ms/op 5.9434 ms/op 1.03
isKnown best case - 1 super set check 649.00 ns/op 340.00 ns/op 1.91
isKnown normal case - 2 super set checks 615.00 ns/op 375.00 ns/op 1.64
isKnown worse case - 16 super set checks 668.00 ns/op 446.00 ns/op 1.50
CheckpointStateCache - add get delete 6.9610 us/op 6.2870 us/op 1.11
validate api signedAggregateAndProof - struct 3.1102 ms/op 2.9925 ms/op 1.04
validate gossip signedAggregateAndProof - struct 2.9254 ms/op 3.3836 ms/op 0.86
validate gossip attestation - vc 640000 1.4274 ms/op 1.4719 ms/op 0.97
batch validate gossip attestation - vc 640000 - chunk 32 178.57 us/op 180.23 us/op 0.99
batch validate gossip attestation - vc 640000 - chunk 64 158.01 us/op 163.56 us/op 0.97
batch validate gossip attestation - vc 640000 - chunk 128 154.89 us/op 169.57 us/op 0.91
batch validate gossip attestation - vc 640000 - chunk 256 143.49 us/op 152.97 us/op 0.94
pickEth1Vote - no votes 1.3685 ms/op 1.6315 ms/op 0.84
pickEth1Vote - max votes 10.763 ms/op 15.103 ms/op 0.71
pickEth1Vote - Eth1Data hashTreeRoot value x2048 22.137 ms/op 27.963 ms/op 0.79
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 34.567 ms/op 37.079 ms/op 0.93
pickEth1Vote - Eth1Data fastSerialize value x2048 621.58 us/op 731.04 us/op 0.85
pickEth1Vote - Eth1Data fastSerialize tree x2048 8.2436 ms/op 8.2848 ms/op 1.00
bytes32 toHexString 525.00 ns/op 632.00 ns/op 0.83
bytes32 Buffer.toString(hex) 290.00 ns/op 340.00 ns/op 0.85
bytes32 Buffer.toString(hex) from Uint8Array 437.00 ns/op 666.00 ns/op 0.66
bytes32 Buffer.toString(hex) + 0x 282.00 ns/op 340.00 ns/op 0.83
Object access 1 prop 0.15300 ns/op 0.23900 ns/op 0.64
Map access 1 prop 0.14100 ns/op 0.16600 ns/op 0.85
Object get x1000 7.4220 ns/op 8.2430 ns/op 0.90
Map get x1000 0.79600 ns/op 0.98200 ns/op 0.81
Object set x1000 54.492 ns/op 89.919 ns/op 0.61
Map set x1000 43.165 ns/op 55.348 ns/op 0.78
Return object 10000 times 0.26910 ns/op 0.28860 ns/op 0.93
Throw Error 10000 times 4.2074 us/op 4.8752 us/op 0.86
fastMsgIdFn sha256 / 200 bytes 3.7500 us/op 3.8880 us/op 0.96
fastMsgIdFn h32 xxhash / 200 bytes 328.00 ns/op 445.00 ns/op 0.74
fastMsgIdFn h64 xxhash / 200 bytes 375.00 ns/op 461.00 ns/op 0.81
fastMsgIdFn sha256 / 1000 bytes 11.980 us/op 13.700 us/op 0.87
fastMsgIdFn h32 xxhash / 1000 bytes 456.00 ns/op 575.00 ns/op 0.79
fastMsgIdFn h64 xxhash / 1000 bytes 458.00 ns/op 579.00 ns/op 0.79
fastMsgIdFn sha256 / 10000 bytes 109.27 us/op 118.42 us/op 0.92
fastMsgIdFn h32 xxhash / 10000 bytes 2.0670 us/op 2.2690 us/op 0.91
fastMsgIdFn h64 xxhash / 10000 bytes 1.4790 us/op 1.6300 us/op 0.91
send data - 1000 256B messages 22.001 ms/op 22.991 ms/op 0.96
send data - 1000 512B messages 27.880 ms/op 35.292 ms/op 0.79
send data - 1000 1024B messages 43.271 ms/op 61.781 ms/op 0.70
send data - 1000 1200B messages 36.490 ms/op 49.210 ms/op 0.74
send data - 1000 2048B messages 43.523 ms/op 57.947 ms/op 0.75
send data - 1000 4096B messages 44.234 ms/op 59.668 ms/op 0.74
send data - 1000 16384B messages 128.50 ms/op 144.10 ms/op 0.89
send data - 1000 65536B messages 511.56 ms/op 558.63 ms/op 0.92
enrSubnets - fastDeserialize 64 bits 1.4770 us/op 1.8420 us/op 0.80
enrSubnets - ssz BitVector 64 bits 477.00 ns/op 738.00 ns/op 0.65
enrSubnets - fastDeserialize 4 bits 215.00 ns/op 270.00 ns/op 0.80
enrSubnets - ssz BitVector 4 bits 499.00 ns/op 743.00 ns/op 0.67
prioritizePeers score -10:0 att 32-0.1 sync 2-0 121.58 us/op 122.42 us/op 0.99
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 158.41 us/op 164.07 us/op 0.97
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 200.41 us/op 230.85 us/op 0.87
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 346.77 us/op 360.14 us/op 0.96
prioritizePeers score 0:0 att 64-1 sync 4-1 400.37 us/op 388.48 us/op 1.03
array of 16000 items push then shift 1.8283 us/op 1.7207 us/op 1.06
LinkedList of 16000 items push then shift 9.3050 ns/op 9.8300 ns/op 0.95
array of 16000 items push then pop 115.63 ns/op 117.39 ns/op 0.99
LinkedList of 16000 items push then pop 9.3100 ns/op 9.2230 ns/op 1.01
array of 24000 items push then shift 2.5976 us/op 2.6236 us/op 0.99
LinkedList of 24000 items push then shift 11.466 ns/op 9.3030 ns/op 1.23
array of 24000 items push then pop 237.43 ns/op 145.79 ns/op 1.63
LinkedList of 24000 items push then pop 10.930 ns/op 9.2560 ns/op 1.18
intersect bitArray bitLen 8 7.0240 ns/op 6.7880 ns/op 1.03
intersect array and set length 8 115.43 ns/op 84.749 ns/op 1.36
intersect bitArray bitLen 128 37.761 ns/op 42.071 ns/op 0.90
intersect array and set length 128 1.0207 us/op 1.1963 us/op 0.85
bitArray.getTrueBitIndexes() bitLen 128 1.8190 us/op 2.4660 us/op 0.74
bitArray.getTrueBitIndexes() bitLen 248 3.3120 us/op 3.8230 us/op 0.87
bitArray.getTrueBitIndexes() bitLen 512 6.6880 us/op 8.0080 us/op 0.84
Buffer.concat 32 items 1.1630 us/op 1.3000 us/op 0.89
Uint8Array.set 32 items 2.1490 us/op 2.2450 us/op 0.96
Set add up to 64 items then delete first 4.7926 us/op 5.1861 us/op 0.92
OrderedSet add up to 64 items then delete first 6.7864 us/op 6.8448 us/op 0.99
Set add up to 64 items then delete last 5.2388 us/op 5.5976 us/op 0.94
OrderedSet add up to 64 items then delete last 7.3450 us/op 7.7074 us/op 0.95
Set add up to 64 items then delete middle 5.2877 us/op 5.7683 us/op 0.92
OrderedSet add up to 64 items then delete middle 8.6915 us/op 9.3509 us/op 0.93
Set add up to 128 items then delete first 11.294 us/op 11.347 us/op 1.00
OrderedSet add up to 128 items then delete first 15.415 us/op 14.626 us/op 1.05
Set add up to 128 items then delete last 11.250 us/op 11.369 us/op 0.99
OrderedSet add up to 128 items then delete last 15.023 us/op 14.372 us/op 1.05
Set add up to 128 items then delete middle 10.815 us/op 10.748 us/op 1.01
OrderedSet add up to 128 items then delete middle 20.002 us/op 20.987 us/op 0.95
Set add up to 256 items then delete first 21.337 us/op 23.984 us/op 0.89
OrderedSet add up to 256 items then delete first 31.761 us/op 33.865 us/op 0.94
Set add up to 256 items then delete last 22.452 us/op 23.779 us/op 0.94
OrderedSet add up to 256 items then delete last 28.205 us/op 35.120 us/op 0.80
Set add up to 256 items then delete middle 21.436 us/op 24.721 us/op 0.87
OrderedSet add up to 256 items then delete middle 51.104 us/op 57.763 us/op 0.88
transfer serialized Status (84 B) 1.9120 us/op 2.0950 us/op 0.91
copy serialized Status (84 B) 1.6850 us/op 1.9200 us/op 0.88
transfer serialized SignedVoluntaryExit (112 B) 2.0860 us/op 2.4220 us/op 0.86
copy serialized SignedVoluntaryExit (112 B) 1.7440 us/op 1.9840 us/op 0.88
transfer serialized ProposerSlashing (416 B) 2.8330 us/op 3.0310 us/op 0.93
copy serialized ProposerSlashing (416 B) 2.4600 us/op 2.5940 us/op 0.95
transfer serialized Attestation (485 B) 2.3920 us/op 2.6100 us/op 0.92
copy serialized Attestation (485 B) 2.3640 us/op 2.7730 us/op 0.85
transfer serialized AttesterSlashing (33232 B) 2.4490 us/op 2.9030 us/op 0.84
copy serialized AttesterSlashing (33232 B) 8.6330 us/op 9.6470 us/op 0.89
transfer serialized Small SignedBeaconBlock (128000 B) 3.6120 us/op 3.4150 us/op 1.06
copy serialized Small SignedBeaconBlock (128000 B) 22.811 us/op 27.935 us/op 0.82
transfer serialized Avg SignedBeaconBlock (200000 B) 3.9810 us/op 3.7120 us/op 1.07
copy serialized Avg SignedBeaconBlock (200000 B) 46.700 us/op 43.480 us/op 1.07
transfer serialized BlobsSidecar (524380 B) 4.1780 us/op 3.8660 us/op 1.08
copy serialized BlobsSidecar (524380 B) 165.20 us/op 161.25 us/op 1.02
transfer serialized Big SignedBeaconBlock (1000000 B) 5.0960 us/op 4.9600 us/op 1.03
copy serialized Big SignedBeaconBlock (1000000 B) 171.67 us/op 314.90 us/op 0.55
pass gossip attestations to forkchoice per slot 5.2007 ms/op 4.7295 ms/op 1.10
forkChoice updateHead vc 100000 bc 64 eq 0 707.41 us/op 717.19 us/op 0.99
forkChoice updateHead vc 600000 bc 64 eq 0 5.4842 ms/op 6.4973 ms/op 0.84
forkChoice updateHead vc 1000000 bc 64 eq 0 7.8586 ms/op 8.3082 ms/op 0.95
forkChoice updateHead vc 600000 bc 320 eq 0 4.6604 ms/op 4.5108 ms/op 1.03
forkChoice updateHead vc 600000 bc 1200 eq 0 4.8453 ms/op 4.9055 ms/op 0.99
forkChoice updateHead vc 600000 bc 7200 eq 0 6.4163 ms/op 5.7183 ms/op 1.12
forkChoice updateHead vc 600000 bc 64 eq 1000 12.387 ms/op 11.699 ms/op 1.06
forkChoice updateHead vc 600000 bc 64 eq 10000 14.397 ms/op 12.420 ms/op 1.16
forkChoice updateHead vc 600000 bc 64 eq 300000 19.901 ms/op 21.315 ms/op 0.93
computeDeltas 500000 validators 300 proto nodes 7.7620 ms/op 7.9117 ms/op 0.98
computeDeltas 500000 validators 1200 proto nodes 7.7961 ms/op 7.8524 ms/op 0.99
computeDeltas 500000 validators 7200 proto nodes 7.0234 ms/op 7.5692 ms/op 0.93
computeDeltas 750000 validators 300 proto nodes 10.723 ms/op 11.588 ms/op 0.93
computeDeltas 750000 validators 1200 proto nodes 10.978 ms/op 11.413 ms/op 0.96
computeDeltas 750000 validators 7200 proto nodes 11.309 ms/op 10.710 ms/op 1.06
computeDeltas 1400000 validators 300 proto nodes 19.609 ms/op 19.746 ms/op 0.99
computeDeltas 1400000 validators 1200 proto nodes 19.169 ms/op 22.217 ms/op 0.86
computeDeltas 1400000 validators 7200 proto nodes 19.484 ms/op 22.958 ms/op 0.85
computeDeltas 2100000 validators 300 proto nodes 29.971 ms/op 32.780 ms/op 0.91
computeDeltas 2100000 validators 1200 proto nodes 29.131 ms/op 33.420 ms/op 0.87
computeDeltas 2100000 validators 7200 proto nodes 30.646 ms/op 33.511 ms/op 0.91
computeProposerBoostScoreFromBalances 500000 validators 4.0121 ms/op 4.5113 ms/op 0.89
computeProposerBoostScoreFromBalances 750000 validators 4.3322 ms/op 4.6419 ms/op 0.93
computeProposerBoostScoreFromBalances 1400000 validators 3.9850 ms/op 4.8329 ms/op 0.82
computeProposerBoostScoreFromBalances 2100000 validators 4.0260 ms/op 4.6172 ms/op 0.87
altair processAttestation - 250000 vs - 7PWei normalcase 2.7533 ms/op 4.2719 ms/op 0.64
altair processAttestation - 250000 vs - 7PWei worstcase 3.4915 ms/op 5.9433 ms/op 0.59
altair processAttestation - setStatus - 1/6 committees join 197.96 us/op 229.11 us/op 0.86
altair processAttestation - setStatus - 1/3 committees join 399.64 us/op 464.19 us/op 0.86
altair processAttestation - setStatus - 1/2 committees join 517.89 us/op 573.15 us/op 0.90
altair processAttestation - setStatus - 2/3 committees join 625.42 us/op 705.18 us/op 0.89
altair processAttestation - setStatus - 4/5 committees join 836.47 us/op 1.0236 ms/op 0.82
altair processAttestation - setStatus - 100% committees join 974.04 us/op 1.0987 ms/op 0.89
altair processBlock - 250000 vs - 7PWei normalcase 10.111 ms/op 12.880 ms/op 0.78
altair processBlock - 250000 vs - 7PWei normalcase hashState 39.795 ms/op 45.582 ms/op 0.87
altair processBlock - 250000 vs - 7PWei worstcase 41.837 ms/op 49.436 ms/op 0.85
altair processBlock - 250000 vs - 7PWei worstcase hashState 100.30 ms/op 119.99 ms/op 0.84
phase0 processBlock - 250000 vs - 7PWei normalcase 3.3780 ms/op 6.6303 ms/op 0.51
phase0 processBlock - 250000 vs - 7PWei worstcase 34.053 ms/op 38.251 ms/op 0.89
altair processEth1Data - 250000 vs - 7PWei normalcase 613.84 us/op 746.83 us/op 0.82
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 14.618 us/op 17.820 us/op 0.82
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 83.746 us/op 82.439 us/op 1.02
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 20.296 us/op 25.595 us/op 0.79
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 11.808 us/op 15.143 us/op 0.78
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 182.55 us/op 261.08 us/op 0.70
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.5123 ms/op 1.6009 ms/op 0.94
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.2014 ms/op 2.3448 ms/op 0.94
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.7365 ms/op 2.2159 ms/op 1.23
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.6575 ms/op 6.7288 ms/op 0.69
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.4821 ms/op 4.1258 ms/op 0.60
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.8397 ms/op 7.0940 ms/op 0.82
Tree 40 250000 create 382.61 ms/op 517.41 ms/op 0.74
Tree 40 250000 get(125000) 204.52 ns/op 226.45 ns/op 0.90
Tree 40 250000 set(125000) 1.0708 us/op 1.5897 us/op 0.67
Tree 40 250000 toArray() 21.143 ms/op 24.917 ms/op 0.85
Tree 40 250000 iterate all - toArray() + loop 21.278 ms/op 24.964 ms/op 0.85
Tree 40 250000 iterate all - get(i) 72.051 ms/op 80.709 ms/op 0.89
MutableVector 250000 create 19.540 ms/op 16.655 ms/op 1.17
MutableVector 250000 get(125000) 6.8430 ns/op 7.5410 ns/op 0.91
MutableVector 250000 set(125000) 288.98 ns/op 471.32 ns/op 0.61
MutableVector 250000 toArray() 3.7132 ms/op 4.8063 ms/op 0.77
MutableVector 250000 iterate all - toArray() + loop 3.5769 ms/op 4.9873 ms/op 0.72
MutableVector 250000 iterate all - get(i) 1.5785 ms/op 1.8341 ms/op 0.86
Array 250000 create 3.6271 ms/op 4.8581 ms/op 0.75
Array 250000 clone - spread 1.3233 ms/op 2.7999 ms/op 0.47
Array 250000 get(125000) 1.0960 ns/op 2.2300 ns/op 0.49
Array 250000 set(125000) 4.1800 ns/op 5.9790 ns/op 0.70
Array 250000 iterate all - loop 171.98 us/op 191.96 us/op 0.90
effectiveBalanceIncrements clone Uint8Array 300000 37.723 us/op 76.745 us/op 0.49
effectiveBalanceIncrements clone MutableVector 300000 466.00 ns/op 667.00 ns/op 0.70
effectiveBalanceIncrements rw all Uint8Array 300000 211.02 us/op 254.04 us/op 0.83
effectiveBalanceIncrements rw all MutableVector 300000 109.78 ms/op 173.11 ms/op 0.63
phase0 afterProcessEpoch - 250000 vs - 7PWei 118.32 ms/op 134.71 ms/op 0.88
phase0 beforeProcessEpoch - 250000 vs - 7PWei 58.829 ms/op 65.977 ms/op 0.89
altair processEpoch - mainnet_e81889 573.78 ms/op 588.83 ms/op 0.97
mainnet_e81889 - altair beforeProcessEpoch 91.923 ms/op 91.526 ms/op 1.00
mainnet_e81889 - altair processJustificationAndFinalization 19.913 us/op 24.029 us/op 0.83
mainnet_e81889 - altair processInactivityUpdates 6.9487 ms/op 7.1665 ms/op 0.97
mainnet_e81889 - altair processRewardsAndPenalties 73.733 ms/op 50.193 ms/op 1.47
mainnet_e81889 - altair processRegistryUpdates 3.0890 us/op 4.5740 us/op 0.68
mainnet_e81889 - altair processSlashings 720.00 ns/op 854.00 ns/op 0.84
mainnet_e81889 - altair processEth1DataReset 894.00 ns/op 1.3560 us/op 0.66
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.4273 ms/op 2.5504 ms/op 0.95
mainnet_e81889 - altair processSlashingsReset 4.7870 us/op 6.6950 us/op 0.72
mainnet_e81889 - altair processRandaoMixesReset 6.7670 us/op 8.2670 us/op 0.82
mainnet_e81889 - altair processHistoricalRootsUpdate 921.00 ns/op 1.0530 us/op 0.87
mainnet_e81889 - altair processParticipationFlagUpdates 2.3100 us/op 3.0240 us/op 0.76
mainnet_e81889 - altair processSyncCommitteeUpdates 792.00 ns/op 1.2110 us/op 0.65
mainnet_e81889 - altair afterProcessEpoch 125.36 ms/op 126.06 ms/op 0.99
capella processEpoch - mainnet_e217614 2.6002 s/op 2.9809 s/op 0.87
mainnet_e217614 - capella beforeProcessEpoch 536.79 ms/op 649.07 ms/op 0.83
mainnet_e217614 - capella processJustificationAndFinalization 21.560 us/op 34.602 us/op 0.62
mainnet_e217614 - capella processInactivityUpdates 21.707 ms/op 28.061 ms/op 0.77
mainnet_e217614 - capella processRewardsAndPenalties 443.98 ms/op 445.62 ms/op 1.00
mainnet_e217614 - capella processRegistryUpdates 34.375 us/op 36.959 us/op 0.93
mainnet_e217614 - capella processSlashings 611.00 ns/op 830.00 ns/op 0.74
mainnet_e217614 - capella processEth1DataReset 660.00 ns/op 820.00 ns/op 0.80
mainnet_e217614 - capella processEffectiveBalanceUpdates 5.2511 ms/op 5.2187 ms/op 1.01
mainnet_e217614 - capella processSlashingsReset 5.0070 us/op 4.5420 us/op 1.10
mainnet_e217614 - capella processRandaoMixesReset 7.0310 us/op 5.2900 us/op 1.33
mainnet_e217614 - capella processHistoricalRootsUpdate 668.00 ns/op 654.00 ns/op 1.02
mainnet_e217614 - capella processParticipationFlagUpdates 2.3660 us/op 2.7150 us/op 0.87
mainnet_e217614 - capella afterProcessEpoch 332.27 ms/op 358.09 ms/op 0.93
phase0 processEpoch - mainnet_e58758 502.88 ms/op 611.28 ms/op 0.82
mainnet_e58758 - phase0 beforeProcessEpoch 141.54 ms/op 240.05 ms/op 0.59
mainnet_e58758 - phase0 processJustificationAndFinalization 20.622 us/op 34.470 us/op 0.60
mainnet_e58758 - phase0 processRewardsAndPenalties 67.195 ms/op 80.649 ms/op 0.83
mainnet_e58758 - phase0 processRegistryUpdates 17.473 us/op 21.956 us/op 0.80
mainnet_e58758 - phase0 processSlashings 701.00 ns/op 1.8090 us/op 0.39
mainnet_e58758 - phase0 processEth1DataReset 576.00 ns/op 1.0760 us/op 0.54
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.2514 ms/op 1.4415 ms/op 0.87
mainnet_e58758 - phase0 processSlashingsReset 4.2340 us/op 6.4850 us/op 0.65
mainnet_e58758 - phase0 processRandaoMixesReset 7.0310 us/op 8.8660 us/op 0.79
mainnet_e58758 - phase0 processHistoricalRootsUpdate 765.00 ns/op 994.00 ns/op 0.77
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.5970 us/op 9.1400 us/op 0.50
mainnet_e58758 - phase0 afterProcessEpoch 99.795 ms/op 118.17 ms/op 0.84
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4491 ms/op 2.3031 ms/op 0.63
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.8857 ms/op 2.0656 ms/op 0.91
altair processInactivityUpdates - 250000 normalcase 30.483 ms/op 49.549 ms/op 0.62
altair processInactivityUpdates - 250000 worstcase 36.264 ms/op 44.768 ms/op 0.81
phase0 processRegistryUpdates - 250000 normalcase 15.639 us/op 23.068 us/op 0.68
phase0 processRegistryUpdates - 250000 badcase_full_deposits 567.73 us/op 716.47 us/op 0.79
phase0 processRegistryUpdates - 250000 worstcase 0.5 175.69 ms/op 235.68 ms/op 0.75
altair processRewardsAndPenalties - 250000 normalcase 59.073 ms/op 88.321 ms/op 0.67
altair processRewardsAndPenalties - 250000 worstcase 70.053 ms/op 90.678 ms/op 0.77
phase0 getAttestationDeltas - 250000 normalcase 11.041 ms/op 17.843 ms/op 0.62
phase0 getAttestationDeltas - 250000 worstcase 12.306 ms/op 19.101 ms/op 0.64
phase0 processSlashings - 250000 worstcase 147.04 us/op 159.22 us/op 0.92
altair processSyncCommitteeUpdates - 250000 188.29 ms/op 251.26 ms/op 0.75
BeaconState.hashTreeRoot - No change 325.00 ns/op 566.00 ns/op 0.57
BeaconState.hashTreeRoot - 1 full validator 160.56 us/op 346.61 us/op 0.46
BeaconState.hashTreeRoot - 32 full validator 1.8893 ms/op 2.7892 ms/op 0.68
BeaconState.hashTreeRoot - 512 full validator 17.686 ms/op 39.283 ms/op 0.45
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 198.68 us/op 380.86 us/op 0.52
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.8303 ms/op 4.5198 ms/op 0.63
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 39.218 ms/op 69.142 ms/op 0.57
BeaconState.hashTreeRoot - 1 balances 170.42 us/op 290.97 us/op 0.59
BeaconState.hashTreeRoot - 32 balances 1.7052 ms/op 2.3399 ms/op 0.73
BeaconState.hashTreeRoot - 512 balances 14.036 ms/op 26.796 ms/op 0.52
BeaconState.hashTreeRoot - 250000 balances 262.61 ms/op 367.06 ms/op 0.72
aggregationBits - 2048 els - zipIndexesInBitList 18.904 us/op 54.286 us/op 0.35
byteArrayEquals 32 77.891 ns/op 94.083 ns/op 0.83
Buffer.compare 32 58.474 ns/op 62.876 ns/op 0.93
byteArrayEquals 1024 2.1038 us/op 2.7787 us/op 0.76
Buffer.compare 1024 77.224 ns/op 78.948 ns/op 0.98
byteArrayEquals 16384 33.847 us/op 41.607 us/op 0.81
Buffer.compare 16384 297.11 ns/op 330.23 ns/op 0.90
byteArrayEquals 123687377 286.24 ms/op 271.25 ms/op 1.06
Buffer.compare 123687377 9.4559 ms/op 8.9338 ms/op 1.06
byteArrayEquals 32 - diff last byte 90.927 ns/op 78.698 ns/op 1.16
Buffer.compare 32 - diff last byte 61.682 ns/op 59.913 ns/op 1.03
byteArrayEquals 1024 - diff last byte 2.4461 us/op 2.1222 us/op 1.15
Buffer.compare 1024 - diff last byte 77.628 ns/op 75.333 ns/op 1.03
byteArrayEquals 16384 - diff last byte 35.085 us/op 33.625 us/op 1.04
Buffer.compare 16384 - diff last byte 280.30 ns/op 301.58 ns/op 0.93
byteArrayEquals 123687377 - diff last byte 291.83 ms/op 269.25 ms/op 1.08
Buffer.compare 123687377 - diff last byte 10.306 ms/op 10.844 ms/op 0.95
byteArrayEquals 32 - random bytes 8.3690 ns/op 8.2350 ns/op 1.02
Buffer.compare 32 - random bytes 67.438 ns/op 69.421 ns/op 0.97
byteArrayEquals 1024 - random bytes 6.5510 ns/op 6.8080 ns/op 0.96
Buffer.compare 1024 - random bytes 66.037 ns/op 63.831 ns/op 1.03
byteArrayEquals 16384 - random bytes 6.7540 ns/op 6.3830 ns/op 1.06
Buffer.compare 16384 - random bytes 65.426 ns/op 64.419 ns/op 1.02
byteArrayEquals 123687377 - random bytes 10.140 ns/op 9.9200 ns/op 1.02
Buffer.compare 123687377 - random bytes 82.950 ns/op 75.690 ns/op 1.10
regular array get 100000 times 51.806 us/op 49.852 us/op 1.04
wrappedArray get 100000 times 66.794 us/op 51.335 us/op 1.30
arrayWithProxy get 100000 times 20.315 ms/op 15.123 ms/op 1.34
ssz.Root.equals 63.817 ns/op 58.805 ns/op 1.09
byteArrayEquals 64.423 ns/op 56.383 ns/op 1.14
Buffer.compare 12.961 ns/op 12.504 ns/op 1.04
shuffle list - 16384 els 8.2843 ms/op 7.4249 ms/op 1.12
shuffle list - 250000 els 115.43 ms/op 108.90 ms/op 1.06
processSlot - 1 slots 24.141 us/op 19.215 us/op 1.26
processSlot - 32 slots 4.7257 ms/op 3.2877 ms/op 1.44
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 70.390 ms/op 71.247 ms/op 0.99
getCommitteeAssignments - req 1 vs - 250000 vc 3.1326 ms/op 3.0657 ms/op 1.02
getCommitteeAssignments - req 100 vs - 250000 vc 4.1303 ms/op 5.1720 ms/op 0.80
getCommitteeAssignments - req 1000 vs - 250000 vc 4.3331 ms/op 4.9845 ms/op 0.87
findModifiedValidators - 10000 modified validators 564.31 ms/op 786.88 ms/op 0.72
findModifiedValidators - 1000 modified validators 476.04 ms/op 613.33 ms/op 0.78
findModifiedValidators - 100 modified validators 436.79 ms/op 571.30 ms/op 0.76
findModifiedValidators - 10 modified validators 494.30 ms/op 575.26 ms/op 0.86
findModifiedValidators - 1 modified validators 506.99 ms/op 539.85 ms/op 0.94
findModifiedValidators - no difference 508.25 ms/op 503.70 ms/op 1.01
compare ViewDUs 5.1350 s/op 6.6497 s/op 0.77
compare each validator Uint8Array 1.8504 s/op 2.1748 s/op 0.85
compare ViewDU to Uint8Array 1.4825 s/op 1.4391 s/op 1.03
migrate state 1000000 validators, 24 modified, 0 new 960.27 ms/op 960.69 ms/op 1.00
migrate state 1000000 validators, 1700 modified, 1000 new 1.3612 s/op 1.3612 s/op 1.00
migrate state 1000000 validators, 3400 modified, 2000 new 1.6744 s/op 1.8201 s/op 0.92
migrate state 1500000 validators, 24 modified, 0 new 947.15 ms/op 1.0987 s/op 0.86
migrate state 1500000 validators, 1700 modified, 1000 new 1.3143 s/op 1.4285 s/op 0.92
migrate state 1500000 validators, 3400 modified, 2000 new 1.5437 s/op 1.7761 s/op 0.87
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.8500 ns/op 6.6100 ns/op 0.73
state getBlockRootAtSlot - 250000 vs - 7PWei 663.70 ns/op 1.0762 us/op 0.62
computeProposers - vc 250000 9.4788 ms/op 12.182 ms/op 0.78
computeEpochShuffling - vc 250000 107.59 ms/op 121.60 ms/op 0.88
getNextSyncCommittee - vc 250000 170.48 ms/op 207.25 ms/op 0.82
computeSigningRoot for AttestationData 31.695 us/op 37.080 us/op 0.85
hash AttestationData serialized data then Buffer.toString(base64) 2.4482 us/op 2.6485 us/op 0.92
toHexString serialized data 1.5876 us/op 1.9759 us/op 0.80
Buffer.toString(base64) 277.82 ns/op 321.54 ns/op 0.86

by benchmarkbot/action

@g11tech g11tech changed the title feat: always use produceBlockV3 post deneb feat: auto use produceBlockV3 deneb+ unless specified Jan 9, 2024
Copy link
Member

@nflaig nflaig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@g11tech g11tech merged commit aca6354 into unstable Jan 10, 2024
14 of 16 checks passed
@g11tech g11tech deleted the produceblockv3-postdeneb branch January 10, 2024 11:24
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.14.0 🎉

ensi321 pushed a commit to ensi321/lodestar that referenced this pull request Jan 22, 2024
* feat: always use produceBlockV3 post deneb

* lint

* auto enable only if explicity not provided
jeluard pushed a commit to jeluard/lodestar that referenced this pull request Jan 30, 2024
* feat: always use produceBlockV3 post deneb

* lint

* auto enable only if explicity not provided
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.

None yet

4 participants