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

fix(prover): allow payload provider to work with no finalized block #5820

Merged
merged 4 commits into from
Aug 1, 2023

Conversation

nazarhussain
Copy link
Contributor

Motivation

Make the @lodestar/prover production ready.

Description

  • Make the payload_provider to work in situation when there is no finalized blocks
  • Don't return 0 instead undefined for minimum finalized header incase of newly initialized object.
  • Return same payload header for max and min in case we have only one finalized header.
  • Some other minor fixes.

Steps to test or reproduce

Run all tests

@nazarhussain nazarhussain requested a review from a team as a code owner July 31, 2023 09:42
@nazarhussain nazarhussain self-assigned this Jul 31, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Jul 31, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: ce56d7d Previous: 3ef8a00 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 771.24 us/op 551.91 us/op 1.40
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 120.51 us/op 82.610 us/op 1.46
BLS verify - blst-native 1.4564 ms/op 1.2905 ms/op 1.13
BLS verifyMultipleSignatures 3 - blst-native 2.7241 ms/op 2.8912 ms/op 0.94
BLS verifyMultipleSignatures 8 - blst-native 6.4283 ms/op 5.6144 ms/op 1.14
BLS verifyMultipleSignatures 32 - blst-native 20.529 ms/op 20.334 ms/op 1.01
BLS aggregatePubkeys 32 - blst-native 27.420 us/op 27.864 us/op 0.98
BLS aggregatePubkeys 128 - blst-native 106.49 us/op 106.44 us/op 1.00
getAttestationsForBlock 73.161 ms/op 60.485 ms/op 1.21
isKnown best case - 1 super set check 418.00 ns/op 342.00 ns/op 1.22
isKnown normal case - 2 super set checks 426.00 ns/op 443.00 ns/op 0.96
isKnown worse case - 16 super set checks 466.00 ns/op 405.00 ns/op 1.15
CheckpointStateCache - add get delete 6.1330 us/op 5.7250 us/op 1.07
validate api signedAggregateAndProof - struct 2.9356 ms/op 2.8583 ms/op 1.03
validate gossip signedAggregateAndProof - struct 3.0238 ms/op 2.8822 ms/op 1.05
validate api attestation - struct 1.4100 ms/op 1.3658 ms/op 1.03
validate gossip attestation - struct 1.4372 ms/op 1.4339 ms/op 1.00
pickEth1Vote - no votes 1.4096 ms/op 1.4187 ms/op 0.99
pickEth1Vote - max votes 11.585 ms/op 11.632 ms/op 1.00
pickEth1Vote - Eth1Data hashTreeRoot value x2048 9.8779 ms/op 10.553 ms/op 0.94
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 17.861 ms/op 16.091 ms/op 1.11
pickEth1Vote - Eth1Data fastSerialize value x2048 825.41 us/op 807.16 us/op 1.02
pickEth1Vote - Eth1Data fastSerialize tree x2048 7.5827 ms/op 7.4798 ms/op 1.01
bytes32 toHexString 729.00 ns/op 994.00 ns/op 0.73
bytes32 Buffer.toString(hex) 362.00 ns/op 393.00 ns/op 0.92
bytes32 Buffer.toString(hex) from Uint8Array 572.00 ns/op 627.00 ns/op 0.91
bytes32 Buffer.toString(hex) + 0x 340.00 ns/op 372.00 ns/op 0.91
Object access 1 prop 0.21700 ns/op 0.24300 ns/op 0.89
Map access 1 prop 0.17200 ns/op 0.17600 ns/op 0.98
Object get x1000 7.8370 ns/op 12.025 ns/op 0.65
Map get x1000 0.70000 ns/op 0.81600 ns/op 0.86
Object set x1000 70.094 ns/op 87.609 ns/op 0.80
Map set x1000 53.497 ns/op 65.129 ns/op 0.82
Return object 10000 times 0.29510 ns/op 0.38690 ns/op 0.76
Throw Error 10000 times 4.3060 us/op 5.1091 us/op 0.84
fastMsgIdFn sha256 / 200 bytes 3.7370 us/op 4.5600 us/op 0.82
fastMsgIdFn h32 xxhash / 200 bytes 355.00 ns/op 496.00 ns/op 0.72
fastMsgIdFn h64 xxhash / 200 bytes 425.00 ns/op 504.00 ns/op 0.84
fastMsgIdFn sha256 / 1000 bytes 12.591 us/op 13.335 us/op 0.94
fastMsgIdFn h32 xxhash / 1000 bytes 512.00 ns/op 576.00 ns/op 0.89
fastMsgIdFn h64 xxhash / 1000 bytes 487.00 ns/op 523.00 ns/op 0.93
fastMsgIdFn sha256 / 10000 bytes 113.67 us/op 117.14 us/op 0.97
fastMsgIdFn h32 xxhash / 10000 bytes 2.1600 us/op 2.1540 us/op 1.00
fastMsgIdFn h64 xxhash / 10000 bytes 1.4530 us/op 1.4850 us/op 0.98
enrSubnets - fastDeserialize 64 bits 1.3940 us/op 1.9100 us/op 0.73
enrSubnets - ssz BitVector 64 bits 513.00 ns/op 605.00 ns/op 0.85
enrSubnets - fastDeserialize 4 bits 221.00 ns/op 246.00 ns/op 0.90
enrSubnets - ssz BitVector 4 bits 529.00 ns/op 540.00 ns/op 0.98
prioritizePeers score -10:0 att 32-0.1 sync 2-0 123.21 us/op 124.88 us/op 0.99
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 146.20 us/op 157.05 us/op 0.93
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 198.81 us/op 205.97 us/op 0.97
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 363.55 us/op 375.08 us/op 0.97
prioritizePeers score 0:0 att 64-1 sync 4-1 402.17 us/op 397.52 us/op 1.01
array of 16000 items push then shift 1.8280 us/op 1.6835 us/op 1.09
LinkedList of 16000 items push then shift 10.385 ns/op 9.4560 ns/op 1.10
array of 16000 items push then pop 60.735 ns/op 64.453 ns/op 0.94
LinkedList of 16000 items push then pop 9.3170 ns/op 9.5720 ns/op 0.97
array of 24000 items push then shift 2.5671 us/op 2.5477 us/op 1.01
LinkedList of 24000 items push then shift 9.4770 ns/op 9.6040 ns/op 0.99
array of 24000 items push then pop 132.04 ns/op 126.41 ns/op 1.04
LinkedList of 24000 items push then pop 9.3970 ns/op 9.3310 ns/op 1.01
intersect bitArray bitLen 8 7.4600 ns/op 7.1750 ns/op 1.04
intersect array and set length 8 66.129 ns/op 100.04 ns/op 0.66
intersect bitArray bitLen 128 34.090 ns/op 38.319 ns/op 0.89
intersect array and set length 128 868.85 ns/op 1.0646 us/op 0.82
bitArray.getTrueBitIndexes() bitLen 128 1.6200 us/op 2.1870 us/op 0.74
bitArray.getTrueBitIndexes() bitLen 248 2.9060 us/op 2.9710 us/op 0.98
bitArray.getTrueBitIndexes() bitLen 512 5.5030 us/op 5.4710 us/op 1.01
Buffer.concat 32 items 1.0190 us/op 1.3950 us/op 0.73
Uint8Array.set 32 items 1.8510 us/op 3.2540 us/op 0.57
transfer serialized Status (84 B) 2.0140 us/op 2.9400 us/op 0.69
copy serialized Status (84 B) 1.7530 us/op 2.0180 us/op 0.87
transfer serialized SignedVoluntaryExit (112 B) 2.2580 us/op 2.7500 us/op 0.82
copy serialized SignedVoluntaryExit (112 B) 1.8280 us/op 2.4800 us/op 0.74
transfer serialized ProposerSlashing (416 B) 2.4340 us/op 2.9650 us/op 0.82
copy serialized ProposerSlashing (416 B) 2.7260 us/op 2.8970 us/op 0.94
transfer serialized Attestation (485 B) 2.4590 us/op 2.9570 us/op 0.83
copy serialized Attestation (485 B) 2.3410 us/op 2.4920 us/op 0.94
transfer serialized AttesterSlashing (33232 B) 2.4610 us/op 2.3910 us/op 1.03
copy serialized AttesterSlashing (33232 B) 8.5260 us/op 7.7400 us/op 1.10
transfer serialized Small SignedBeaconBlock (128000 B) 2.6470 us/op 2.9070 us/op 0.91
copy serialized Small SignedBeaconBlock (128000 B) 23.989 us/op 21.204 us/op 1.13
transfer serialized Avg SignedBeaconBlock (200000 B) 3.0210 us/op 3.8770 us/op 0.78
copy serialized Avg SignedBeaconBlock (200000 B) 31.518 us/op 29.716 us/op 1.06
transfer serialized BlobsSidecar (524380 B) 3.2140 us/op 3.6130 us/op 0.89
copy serialized BlobsSidecar (524380 B) 132.88 us/op 92.626 us/op 1.43
transfer serialized Big SignedBeaconBlock (1000000 B) 3.4080 us/op 3.5300 us/op 0.97
copy serialized Big SignedBeaconBlock (1000000 B) 252.94 us/op 183.00 us/op 1.38
pass gossip attestations to forkchoice per slot 2.6693 ms/op 2.2920 ms/op 1.16
forkChoice updateHead vc 100000 bc 64 eq 0 2.4257 ms/op 2.1496 ms/op 1.13
forkChoice updateHead vc 600000 bc 64 eq 0 13.235 ms/op 12.224 ms/op 1.08
forkChoice updateHead vc 1000000 bc 64 eq 0 19.214 ms/op 19.694 ms/op 0.98
forkChoice updateHead vc 600000 bc 320 eq 0 18.530 ms/op 17.141 ms/op 1.08
forkChoice updateHead vc 600000 bc 1200 eq 0 90.396 ms/op 90.381 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 1000 20.194 ms/op 22.664 ms/op 0.89
forkChoice updateHead vc 600000 bc 64 eq 10000 22.782 ms/op 24.953 ms/op 0.91
forkChoice updateHead vc 600000 bc 64 eq 300000 29.459 ms/op 39.138 ms/op 0.75
computeDeltas 3.2080 ms/op 3.3125 ms/op 0.97
computeProposerBoostScoreFromBalances 409.62 us/op 411.34 us/op 1.00
altair processAttestation - 250000 vs - 7PWei normalcase 2.6336 ms/op 4.1004 ms/op 0.64
altair processAttestation - 250000 vs - 7PWei worstcase 3.2136 ms/op 5.0443 ms/op 0.64
altair processAttestation - setStatus - 1/6 committees join 188.39 us/op 166.63 us/op 1.13
altair processAttestation - setStatus - 1/3 committees join 352.08 us/op 305.75 us/op 1.15
altair processAttestation - setStatus - 1/2 committees join 473.64 us/op 409.94 us/op 1.16
altair processAttestation - setStatus - 2/3 committees join 601.73 us/op 512.31 us/op 1.17
altair processAttestation - setStatus - 4/5 committees join 828.35 us/op 700.38 us/op 1.18
altair processAttestation - setStatus - 100% committees join 976.53 us/op 840.10 us/op 1.16
altair processBlock - 250000 vs - 7PWei normalcase 11.978 ms/op 10.479 ms/op 1.14
altair processBlock - 250000 vs - 7PWei normalcase hashState 17.442 ms/op 18.754 ms/op 0.93
altair processBlock - 250000 vs - 7PWei worstcase 40.258 ms/op 44.025 ms/op 0.91
altair processBlock - 250000 vs - 7PWei worstcase hashState 59.760 ms/op 65.860 ms/op 0.91
phase0 processBlock - 250000 vs - 7PWei normalcase 2.4306 ms/op 2.8124 ms/op 0.86
phase0 processBlock - 250000 vs - 7PWei worstcase 30.749 ms/op 34.035 ms/op 0.90
altair processEth1Data - 250000 vs - 7PWei normalcase 541.76 us/op 608.16 us/op 0.89
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 10.391 us/op 12.781 us/op 0.81
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 66.982 us/op 91.718 us/op 0.73
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 18.432 us/op 26.403 us/op 0.70
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 8.0870 us/op 18.782 us/op 0.43
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 220.18 us/op 226.90 us/op 0.97
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.1221 ms/op 1.2451 ms/op 0.90
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.4469 ms/op 2.0209 ms/op 0.72
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.5587 ms/op 1.8609 ms/op 0.84
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.4468 ms/op 3.4022 ms/op 1.01
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.4006 ms/op 2.5259 ms/op 0.95
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 6.2739 ms/op 6.1735 ms/op 1.02
Tree 40 250000 create 338.64 ms/op 556.89 ms/op 0.61
Tree 40 250000 get(125000) 205.49 ns/op 222.44 ns/op 0.92
Tree 40 250000 set(125000) 942.30 ns/op 1.1050 us/op 0.85
Tree 40 250000 toArray() 19.057 ms/op 23.171 ms/op 0.82
Tree 40 250000 iterate all - toArray() + loop 19.805 ms/op 22.145 ms/op 0.89
Tree 40 250000 iterate all - get(i) 71.002 ms/op 81.531 ms/op 0.87
MutableVector 250000 create 10.043 ms/op 16.372 ms/op 0.61
MutableVector 250000 get(125000) 6.7190 ns/op 7.1890 ns/op 0.93
MutableVector 250000 set(125000) 273.33 ns/op 300.48 ns/op 0.91
MutableVector 250000 toArray() 3.3045 ms/op 4.4387 ms/op 0.74
MutableVector 250000 iterate all - toArray() + loop 3.4769 ms/op 4.2099 ms/op 0.83
MutableVector 250000 iterate all - get(i) 1.5682 ms/op 1.6616 ms/op 0.94
Array 250000 create 2.9481 ms/op 3.2625 ms/op 0.90
Array 250000 clone - spread 1.2307 ms/op 1.2222 ms/op 1.01
Array 250000 get(125000) 0.60700 ns/op 0.60100 ns/op 1.01
Array 250000 set(125000) 0.68300 ns/op 0.65600 ns/op 1.04
Array 250000 iterate all - loop 84.143 us/op 87.444 us/op 0.96
effectiveBalanceIncrements clone Uint8Array 300000 27.909 us/op 36.486 us/op 0.76
effectiveBalanceIncrements clone MutableVector 300000 363.00 ns/op 327.00 ns/op 1.11
effectiveBalanceIncrements rw all Uint8Array 300000 190.11 us/op 191.96 us/op 0.99
effectiveBalanceIncrements rw all MutableVector 300000 86.274 ms/op 110.04 ms/op 0.78
phase0 afterProcessEpoch - 250000 vs - 7PWei 116.10 ms/op 124.11 ms/op 0.94
phase0 beforeProcessEpoch - 250000 vs - 7PWei 33.034 ms/op 40.006 ms/op 0.83
altair processEpoch - mainnet_e81889 415.05 ms/op 342.35 ms/op 1.21
mainnet_e81889 - altair beforeProcessEpoch 72.487 ms/op 74.066 ms/op 0.98
mainnet_e81889 - altair processJustificationAndFinalization 23.149 us/op 22.576 us/op 1.03
mainnet_e81889 - altair processInactivityUpdates 6.2202 ms/op 8.3227 ms/op 0.75
mainnet_e81889 - altair processRewardsAndPenalties 67.071 ms/op 61.565 ms/op 1.09
mainnet_e81889 - altair processRegistryUpdates 2.5910 us/op 5.4230 us/op 0.48
mainnet_e81889 - altair processSlashings 503.00 ns/op 1.2340 us/op 0.41
mainnet_e81889 - altair processEth1DataReset 642.00 ns/op 1.4750 us/op 0.44
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.3080 ms/op 1.7000 ms/op 0.77
mainnet_e81889 - altair processSlashingsReset 3.3140 us/op 7.2020 us/op 0.46
mainnet_e81889 - altair processRandaoMixesReset 8.8240 us/op 8.0550 us/op 1.10
mainnet_e81889 - altair processHistoricalRootsUpdate 1.0860 us/op 1.9800 us/op 0.55
mainnet_e81889 - altair processParticipationFlagUpdates 2.1090 us/op 5.3610 us/op 0.39
mainnet_e81889 - altair processSyncCommitteeUpdates 1.1920 us/op 1.3730 us/op 0.87
mainnet_e81889 - altair afterProcessEpoch 132.58 ms/op 151.14 ms/op 0.88
capella processEpoch - mainnet_e217614 1.6668 s/op 1.6810 s/op 0.99
mainnet_e217614 - capella beforeProcessEpoch 397.56 ms/op 438.76 ms/op 0.91
mainnet_e217614 - capella processJustificationAndFinalization 29.390 us/op 25.209 us/op 1.17
mainnet_e217614 - capella processInactivityUpdates 30.152 ms/op 26.593 ms/op 1.13
mainnet_e217614 - capella processRewardsAndPenalties 445.31 ms/op 447.02 ms/op 1.00
mainnet_e217614 - capella processRegistryUpdates 31.597 us/op 36.743 us/op 0.86
mainnet_e217614 - capella processSlashings 1.2020 us/op 1.2560 us/op 0.96
mainnet_e217614 - capella processEth1DataReset 842.00 ns/op 1.0520 us/op 0.80
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.5369 ms/op 4.9811 ms/op 0.91
mainnet_e217614 - capella processSlashingsReset 4.4670 us/op 6.4850 us/op 0.69
mainnet_e217614 - capella processRandaoMixesReset 9.7820 us/op 8.9380 us/op 1.09
mainnet_e217614 - capella processHistoricalRootsUpdate 1.0540 us/op 1.3910 us/op 0.76
mainnet_e217614 - capella processParticipationFlagUpdates 2.4420 us/op 6.0140 us/op 0.41
mainnet_e217614 - capella afterProcessEpoch 322.50 ms/op 351.78 ms/op 0.92
phase0 processEpoch - mainnet_e58758 356.83 ms/op 546.78 ms/op 0.65
mainnet_e58758 - phase0 beforeProcessEpoch 147.51 ms/op 254.22 ms/op 0.58
mainnet_e58758 - phase0 processJustificationAndFinalization 16.513 us/op 32.321 us/op 0.51
mainnet_e58758 - phase0 processRewardsAndPenalties 58.036 ms/op 74.082 ms/op 0.78
mainnet_e58758 - phase0 processRegistryUpdates 14.188 us/op 24.613 us/op 0.58
mainnet_e58758 - phase0 processSlashings 582.00 ns/op 2.0070 us/op 0.29
mainnet_e58758 - phase0 processEth1DataReset 906.00 ns/op 1.4750 us/op 0.61
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.5548 ms/op 1.6507 ms/op 0.94
mainnet_e58758 - phase0 processSlashingsReset 3.1450 us/op 6.0060 us/op 0.52
mainnet_e58758 - phase0 processRandaoMixesReset 7.7490 us/op 11.202 us/op 0.69
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.1770 us/op 615.00 ns/op 1.91
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.7150 us/op 5.1590 us/op 0.91
mainnet_e58758 - phase0 afterProcessEpoch 107.87 ms/op 109.38 ms/op 0.99
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.2843 ms/op 1.3955 ms/op 0.92
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4563 ms/op 1.7258 ms/op 0.84
altair processInactivityUpdates - 250000 normalcase 21.917 ms/op 28.798 ms/op 0.76
altair processInactivityUpdates - 250000 worstcase 23.753 ms/op 23.510 ms/op 1.01
phase0 processRegistryUpdates - 250000 normalcase 9.0400 us/op 16.228 us/op 0.56
phase0 processRegistryUpdates - 250000 badcase_full_deposits 379.13 us/op 501.03 us/op 0.76
phase0 processRegistryUpdates - 250000 worstcase 0.5 136.05 ms/op 155.44 ms/op 0.88
altair processRewardsAndPenalties - 250000 normalcase 82.556 ms/op 74.980 ms/op 1.10
altair processRewardsAndPenalties - 250000 worstcase 77.287 ms/op 66.508 ms/op 1.16
phase0 getAttestationDeltas - 250000 normalcase 8.7987 ms/op 11.147 ms/op 0.79
phase0 getAttestationDeltas - 250000 worstcase 8.7340 ms/op 11.493 ms/op 0.76
phase0 processSlashings - 250000 worstcase 2.4818 ms/op 2.8891 ms/op 0.86
altair processSyncCommitteeUpdates - 250000 160.34 ms/op 174.87 ms/op 0.92
BeaconState.hashTreeRoot - No change 291.00 ns/op 313.00 ns/op 0.93
BeaconState.hashTreeRoot - 1 full validator 57.140 us/op 57.806 us/op 0.99
BeaconState.hashTreeRoot - 32 full validator 558.50 us/op 582.57 us/op 0.96
BeaconState.hashTreeRoot - 512 full validator 5.6352 ms/op 7.1272 ms/op 0.79
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 71.657 us/op 72.945 us/op 0.98
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 848.83 us/op 985.15 us/op 0.86
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 12.377 ms/op 14.249 ms/op 0.87
BeaconState.hashTreeRoot - 1 balances 53.240 us/op 55.023 us/op 0.97
BeaconState.hashTreeRoot - 32 balances 499.40 us/op 509.96 us/op 0.98
BeaconState.hashTreeRoot - 512 balances 4.5498 ms/op 5.0173 ms/op 0.91
BeaconState.hashTreeRoot - 250000 balances 78.444 ms/op 75.832 ms/op 1.03
aggregationBits - 2048 els - zipIndexesInBitList 16.880 us/op 21.116 us/op 0.80
regular array get 100000 times 45.782 us/op 46.202 us/op 0.99
wrappedArray get 100000 times 33.789 us/op 34.045 us/op 0.99
arrayWithProxy get 100000 times 15.694 ms/op 15.692 ms/op 1.00
ssz.Root.equals 222.00 ns/op 293.00 ns/op 0.76
byteArrayEquals 225.00 ns/op 285.00 ns/op 0.79
shuffle list - 16384 els 7.2595 ms/op 7.2858 ms/op 1.00
shuffle list - 250000 els 105.73 ms/op 106.44 ms/op 0.99
processSlot - 1 slots 8.8780 us/op 9.5250 us/op 0.93
processSlot - 32 slots 1.3891 ms/op 1.4716 ms/op 0.94
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 55.861 ms/op 54.131 ms/op 1.03
getCommitteeAssignments - req 1 vs - 250000 vc 2.5608 ms/op 2.8953 ms/op 0.88
getCommitteeAssignments - req 100 vs - 250000 vc 3.7494 ms/op 4.2364 ms/op 0.89
getCommitteeAssignments - req 1000 vs - 250000 vc 4.0427 ms/op 4.4017 ms/op 0.92
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.8500 ns/op 5.5400 ns/op 0.88
state getBlockRootAtSlot - 250000 vs - 7PWei 496.64 ns/op 1.0900 us/op 0.46
computeProposers - vc 250000 9.0078 ms/op 10.275 ms/op 0.88
computeEpochShuffling - vc 250000 108.01 ms/op 109.77 ms/op 0.98
getNextSyncCommittee - vc 250000 162.40 ms/op 166.04 ms/op 0.98
computeSigningRoot for AttestationData 14.423 us/op 15.309 us/op 0.94
hash AttestationData serialized data then Buffer.toString(base64) 2.3651 us/op 2.4908 us/op 0.95
toHexString serialized data 1.0935 us/op 1.3798 us/op 0.79
Buffer.toString(base64) 225.57 ns/op 257.90 ns/op 0.87

by benchmarkbot/action

@wemeetagain wemeetagain merged commit 549aa03 into unstable Aug 1, 2023
@wemeetagain wemeetagain deleted the nh/prover-fixes branch August 1, 2023 17:00
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.10.0 🎉

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