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: more insight when publishing blocks #6166

Merged
merged 3 commits into from
Dec 8, 2023

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented Dec 8, 2023

Motivation

  • Get more insight when publishing blocks

Description

  • Persist invalid published blocks
  • Add flag to persist produced blocks
  • Log body root when publishing block

cc @g11tech

@twoeths twoeths marked this pull request as ready for review December 8, 2023 04:04
@twoeths twoeths requested a review from a team as a code owner December 8, 2023 04:04
Copy link
Contributor

@g11tech g11tech left a comment

Choose a reason for hiding this comment

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

Thanks Tuyen this is more of less what I had in mind to PR 👌

Copy link
Contributor

github-actions bot commented Dec 8, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: f89854b Previous: fa702df Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 502.85 us/op 1.3771 ms/op 0.37
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 83.985 us/op 141.55 us/op 0.59
BLS verify - blst-native 1.2352 ms/op 1.1936 ms/op 1.03
BLS verifyMultipleSignatures 3 - blst-native 2.5955 ms/op 2.5495 ms/op 1.02
BLS verifyMultipleSignatures 8 - blst-native 5.6703 ms/op 5.5255 ms/op 1.03
BLS verifyMultipleSignatures 32 - blst-native 21.802 ms/op 20.133 ms/op 1.08
BLS verifyMultipleSignatures 64 - blst-native 43.092 ms/op 44.231 ms/op 0.97
BLS verifyMultipleSignatures 128 - blst-native 85.505 ms/op 77.303 ms/op 1.11
BLS deserializing 10000 signatures 921.74 ms/op 911.66 ms/op 1.01
BLS deserializing 100000 signatures 9.1451 s/op 8.8174 s/op 1.04
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.2897 ms/op 1.1442 ms/op 1.13
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.5877 ms/op 1.4382 ms/op 1.10
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.7529 ms/op 2.0767 ms/op 1.33
BLS verifyMultipleSignatures - same message - 64 - blst-native 4.1941 ms/op 3.9233 ms/op 1.07
BLS verifyMultipleSignatures - same message - 128 - blst-native 7.3134 ms/op 6.9882 ms/op 1.05
BLS aggregatePubkeys 32 - blst-native 26.045 us/op 23.930 us/op 1.09
BLS aggregatePubkeys 128 - blst-native 102.84 us/op 92.369 us/op 1.11
getAttestationsForBlock 44.012 ms/op 44.711 ms/op 0.98
getSlashingsAndExits - default max 142.63 us/op 105.92 us/op 1.35
getSlashingsAndExits - 2k 381.50 us/op 407.68 us/op 0.94
proposeBlockBody type=full, size=empty 5.5090 ms/op 4.2843 ms/op 1.29
isKnown best case - 1 super set check 284.00 ns/op 362.00 ns/op 0.78
isKnown normal case - 2 super set checks 280.00 ns/op 356.00 ns/op 0.79
isKnown worse case - 16 super set checks 280.00 ns/op 375.00 ns/op 0.75
CheckpointStateCache - add get delete 4.7040 us/op 5.7880 us/op 0.81
validate api signedAggregateAndProof - struct 2.6137 ms/op 2.4808 ms/op 1.05
validate gossip signedAggregateAndProof - struct 2.6251 ms/op 2.4081 ms/op 1.09
validate gossip attestation - vc 640000 1.3068 ms/op 1.2221 ms/op 1.07
batch validate gossip attestation - vc 640000 - chunk 32 155.32 us/op 146.53 us/op 1.06
batch validate gossip attestation - vc 640000 - chunk 64 135.31 us/op 130.43 us/op 1.04
batch validate gossip attestation - vc 640000 - chunk 128 131.73 us/op 121.62 us/op 1.08
batch validate gossip attestation - vc 640000 - chunk 256 132.88 us/op 123.21 us/op 1.08
pickEth1Vote - no votes 1.2477 ms/op 968.00 us/op 1.29
pickEth1Vote - max votes 8.3012 ms/op 7.2908 ms/op 1.14
pickEth1Vote - Eth1Data hashTreeRoot value x2048 15.868 ms/op 15.722 ms/op 1.01
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 25.221 ms/op 23.825 ms/op 1.06
pickEth1Vote - Eth1Data fastSerialize value x2048 615.26 us/op 480.31 us/op 1.28
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.1758 ms/op 9.4317 ms/op 0.65
bytes32 toHexString 550.00 ns/op 703.00 ns/op 0.78
bytes32 Buffer.toString(hex) 317.00 ns/op 367.00 ns/op 0.86
bytes32 Buffer.toString(hex) from Uint8Array 509.00 ns/op 557.00 ns/op 0.91
bytes32 Buffer.toString(hex) + 0x 302.00 ns/op 359.00 ns/op 0.84
Object access 1 prop 0.16900 ns/op 0.26000 ns/op 0.65
Map access 1 prop 0.14700 ns/op 0.20200 ns/op 0.73
Object get x1000 7.0680 ns/op 5.0110 ns/op 1.41
Map get x1000 0.77100 ns/op 0.85100 ns/op 0.91
Object set x1000 51.653 ns/op 38.385 ns/op 1.35
Map set x1000 39.661 ns/op 20.491 ns/op 1.94
Return object 10000 times 0.24980 ns/op 0.23190 ns/op 1.08
Throw Error 10000 times 4.0475 us/op 2.7696 us/op 1.46
fastMsgIdFn sha256 / 200 bytes 3.4210 us/op 2.0500 us/op 1.67
fastMsgIdFn h32 xxhash / 200 bytes 293.00 ns/op 361.00 ns/op 0.81
fastMsgIdFn h64 xxhash / 200 bytes 357.00 ns/op 392.00 ns/op 0.91
fastMsgIdFn sha256 / 1000 bytes 11.763 us/op 6.3310 us/op 1.86
fastMsgIdFn h32 xxhash / 1000 bytes 461.00 ns/op 501.00 ns/op 0.92
fastMsgIdFn h64 xxhash / 1000 bytes 452.00 ns/op 473.00 ns/op 0.96
fastMsgIdFn sha256 / 10000 bytes 104.68 us/op 54.823 us/op 1.91
fastMsgIdFn h32 xxhash / 10000 bytes 1.9350 us/op 1.9110 us/op 1.01
fastMsgIdFn h64 xxhash / 10000 bytes 1.2920 us/op 1.3190 us/op 0.98
send data - 1000 256B messages 21.109 ms/op 14.707 ms/op 1.44
send data - 1000 512B messages 28.623 ms/op 16.967 ms/op 1.69
send data - 1000 1024B messages 41.488 ms/op 23.890 ms/op 1.74
send data - 1000 1200B messages 38.336 ms/op 20.643 ms/op 1.86
send data - 1000 2048B messages 26.121 ms/op 35.963 ms/op 0.73
send data - 1000 4096B messages 41.542 ms/op 33.454 ms/op 1.24
send data - 1000 16384B messages 120.94 ms/op 104.93 ms/op 1.15
send data - 1000 65536B messages 436.12 ms/op 440.49 ms/op 0.99
enrSubnets - fastDeserialize 64 bits 1.2710 us/op 1.3090 us/op 0.97
enrSubnets - ssz BitVector 64 bits 504.00 ns/op 511.00 ns/op 0.99
enrSubnets - fastDeserialize 4 bits 211.00 ns/op 265.00 ns/op 0.80
enrSubnets - ssz BitVector 4 bits 449.00 ns/op 593.00 ns/op 0.76
prioritizePeers score -10:0 att 32-0.1 sync 2-0 113.89 us/op 78.228 us/op 1.46
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 136.26 us/op 111.91 us/op 1.22
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 160.53 us/op 147.59 us/op 1.09
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 339.71 us/op 228.29 us/op 1.49
prioritizePeers score 0:0 att 64-1 sync 4-1 373.01 us/op 254.39 us/op 1.47
array of 16000 items push then shift 1.6784 us/op 1.3003 us/op 1.29
LinkedList of 16000 items push then shift 9.5360 ns/op 7.7110 ns/op 1.24
array of 16000 items push then pop 108.16 ns/op 85.438 ns/op 1.27
LinkedList of 16000 items push then pop 9.1850 ns/op 5.7630 ns/op 1.59
array of 24000 items push then shift 2.6244 us/op 1.9495 us/op 1.35
LinkedList of 24000 items push then shift 9.5370 ns/op 6.1050 ns/op 1.56
array of 24000 items push then pop 149.88 ns/op 121.23 ns/op 1.24
LinkedList of 24000 items push then pop 9.3040 ns/op 6.0590 ns/op 1.54
intersect bitArray bitLen 8 6.5870 ns/op 5.1640 ns/op 1.28
intersect array and set length 8 99.279 ns/op 49.513 ns/op 2.01
intersect bitArray bitLen 128 34.365 ns/op 27.874 ns/op 1.23
intersect array and set length 128 1.1033 us/op 721.43 ns/op 1.53
bitArray.getTrueBitIndexes() bitLen 128 1.8730 us/op 1.4620 us/op 1.28
bitArray.getTrueBitIndexes() bitLen 248 3.2620 us/op 2.5120 us/op 1.30
bitArray.getTrueBitIndexes() bitLen 512 6.5380 us/op 3.9930 us/op 1.64
Buffer.concat 32 items 1.0860 us/op 953.00 ns/op 1.14
Uint8Array.set 32 items 2.2670 us/op 1.4650 us/op 1.55
Set add up to 64 items then delete first 5.2909 us/op 1.7961 us/op 2.95
OrderedSet add up to 64 items then delete first 6.9772 us/op 2.7375 us/op 2.55
Set add up to 64 items then delete last 5.5242 us/op 2.1115 us/op 2.62
OrderedSet add up to 64 items then delete last 7.6303 us/op 3.2041 us/op 2.38
Set add up to 64 items then delete middle 5.5292 us/op 2.6844 us/op 2.06
OrderedSet add up to 64 items then delete middle 8.7494 us/op 5.2860 us/op 1.66
Set add up to 128 items then delete first 10.978 us/op 4.4869 us/op 2.45
OrderedSet add up to 128 items then delete first 14.710 us/op 7.1105 us/op 2.07
Set add up to 128 items then delete last 11.036 us/op 4.9820 us/op 2.22
OrderedSet add up to 128 items then delete last 15.064 us/op 8.1185 us/op 1.86
Set add up to 128 items then delete middle 10.827 us/op 5.3048 us/op 2.04
OrderedSet add up to 128 items then delete middle 20.588 us/op 13.444 us/op 1.53
Set add up to 256 items then delete first 21.670 us/op 10.420 us/op 2.08
OrderedSet add up to 256 items then delete first 29.714 us/op 16.898 us/op 1.76
Set add up to 256 items then delete last 22.087 us/op 9.7715 us/op 2.26
OrderedSet add up to 256 items then delete last 27.680 us/op 16.492 us/op 1.68
Set add up to 256 items then delete middle 21.255 us/op 9.8848 us/op 2.15
OrderedSet add up to 256 items then delete middle 49.827 us/op 37.039 us/op 1.35
transfer serialized Status (84 B) 1.8560 us/op 1.7920 us/op 1.04
copy serialized Status (84 B) 1.6000 us/op 1.7000 us/op 0.94
transfer serialized SignedVoluntaryExit (112 B) 2.0240 us/op 1.9100 us/op 1.06
copy serialized SignedVoluntaryExit (112 B) 1.7320 us/op 1.6850 us/op 1.03
transfer serialized ProposerSlashing (416 B) 2.9880 us/op 3.0650 us/op 0.97
copy serialized ProposerSlashing (416 B) 2.8730 us/op 3.0960 us/op 0.93
transfer serialized Attestation (485 B) 2.4890 us/op 1.9450 us/op 1.28
copy serialized Attestation (485 B) 2.6760 us/op 1.6920 us/op 1.58
transfer serialized AttesterSlashing (33232 B) 2.7430 us/op 1.7800 us/op 1.54
copy serialized AttesterSlashing (33232 B) 7.8920 us/op 5.3340 us/op 1.48
transfer serialized Small SignedBeaconBlock (128000 B) 3.0350 us/op 2.6080 us/op 1.16
copy serialized Small SignedBeaconBlock (128000 B) 18.517 us/op 11.163 us/op 1.66
transfer serialized Avg SignedBeaconBlock (200000 B) 3.2510 us/op 2.8870 us/op 1.13
copy serialized Avg SignedBeaconBlock (200000 B) 25.214 us/op 16.659 us/op 1.51
transfer serialized BlobsSidecar (524380 B) 3.5280 us/op 3.0280 us/op 1.17
copy serialized BlobsSidecar (524380 B) 104.64 us/op 89.707 us/op 1.17
transfer serialized Big SignedBeaconBlock (1000000 B) 3.6990 us/op 3.7640 us/op 0.98
copy serialized Big SignedBeaconBlock (1000000 B) 186.19 us/op 149.15 us/op 1.25
pass gossip attestations to forkchoice per slot 3.8804 ms/op 3.1976 ms/op 1.21
forkChoice updateHead vc 100000 bc 64 eq 0 706.12 us/op 440.21 us/op 1.60
forkChoice updateHead vc 600000 bc 64 eq 0 4.2370 ms/op 2.9247 ms/op 1.45
forkChoice updateHead vc 1000000 bc 64 eq 0 7.2870 ms/op 4.8798 ms/op 1.49
forkChoice updateHead vc 600000 bc 320 eq 0 4.2104 ms/op 2.8951 ms/op 1.45
forkChoice updateHead vc 600000 bc 1200 eq 0 4.3986 ms/op 2.8462 ms/op 1.55
forkChoice updateHead vc 600000 bc 7200 eq 0 5.3323 ms/op 5.1566 ms/op 1.03
forkChoice updateHead vc 600000 bc 64 eq 1000 11.314 ms/op 12.049 ms/op 0.94
forkChoice updateHead vc 600000 bc 64 eq 10000 11.886 ms/op 11.021 ms/op 1.08
forkChoice updateHead vc 600000 bc 64 eq 300000 16.481 ms/op 32.435 ms/op 0.51
computeDeltas 500000 validators 300 proto nodes 6.4761 ms/op 3.4617 ms/op 1.87
computeDeltas 500000 validators 1200 proto nodes 6.3509 ms/op 3.4153 ms/op 1.86
computeDeltas 500000 validators 7200 proto nodes 6.3436 ms/op 3.4347 ms/op 1.85
computeDeltas 750000 validators 300 proto nodes 9.5975 ms/op 4.8312 ms/op 1.99
computeDeltas 750000 validators 1200 proto nodes 9.7277 ms/op 4.7172 ms/op 2.06
computeDeltas 750000 validators 7200 proto nodes 9.7314 ms/op 5.3319 ms/op 1.83
computeDeltas 1400000 validators 300 proto nodes 18.429 ms/op 10.363 ms/op 1.78
computeDeltas 1400000 validators 1200 proto nodes 18.555 ms/op 10.185 ms/op 1.82
computeDeltas 1400000 validators 7200 proto nodes 19.008 ms/op 9.3784 ms/op 2.03
computeDeltas 2100000 validators 300 proto nodes 27.659 ms/op 14.436 ms/op 1.92
computeDeltas 2100000 validators 1200 proto nodes 28.091 ms/op 14.198 ms/op 1.98
computeDeltas 2100000 validators 7200 proto nodes 28.076 ms/op 13.659 ms/op 2.06
computeProposerBoostScoreFromBalances 500000 validators 3.7930 ms/op 3.3157 ms/op 1.14
computeProposerBoostScoreFromBalances 750000 validators 3.8266 ms/op 3.2570 ms/op 1.17
computeProposerBoostScoreFromBalances 1400000 validators 3.7828 ms/op 3.2540 ms/op 1.16
computeProposerBoostScoreFromBalances 2100000 validators 3.7989 ms/op 3.3072 ms/op 1.15
altair processAttestation - 250000 vs - 7PWei normalcase 2.9393 ms/op 1.6309 ms/op 1.80
altair processAttestation - 250000 vs - 7PWei worstcase 4.1827 ms/op 3.2110 ms/op 1.30
altair processAttestation - setStatus - 1/6 committees join 153.03 us/op 127.28 us/op 1.20
altair processAttestation - setStatus - 1/3 committees join 285.51 us/op 207.46 us/op 1.38
altair processAttestation - setStatus - 1/2 committees join 380.65 us/op 295.59 us/op 1.29
altair processAttestation - setStatus - 2/3 committees join 482.37 us/op 384.75 us/op 1.25
altair processAttestation - setStatus - 4/5 committees join 699.77 us/op 507.16 us/op 1.38
altair processAttestation - setStatus - 100% committees join 815.56 us/op 585.13 us/op 1.39
altair processBlock - 250000 vs - 7PWei normalcase 11.477 ms/op 8.0252 ms/op 1.43
altair processBlock - 250000 vs - 7PWei normalcase hashState 34.872 ms/op 31.478 ms/op 1.11
altair processBlock - 250000 vs - 7PWei worstcase 37.428 ms/op 30.255 ms/op 1.24
altair processBlock - 250000 vs - 7PWei worstcase hashState 92.963 ms/op 77.325 ms/op 1.20
phase0 processBlock - 250000 vs - 7PWei normalcase 3.1879 ms/op 2.7176 ms/op 1.17
phase0 processBlock - 250000 vs - 7PWei worstcase 32.402 ms/op 26.274 ms/op 1.23
altair processEth1Data - 250000 vs - 7PWei normalcase 704.49 us/op 301.03 us/op 2.34
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 11.468 us/op 6.7630 us/op 1.70
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 64.992 us/op 49.681 us/op 1.31
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 24.420 us/op 20.430 us/op 1.20
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 16.384 us/op 9.9110 us/op 1.65
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 206.72 us/op 176.37 us/op 1.17
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.3959 ms/op 1.3493 ms/op 1.03
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.7539 ms/op 1.5241 ms/op 1.15
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.8987 ms/op 1.3450 ms/op 1.41
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.9626 ms/op 2.4438 ms/op 1.62
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.7517 ms/op 1.8268 ms/op 1.51
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 6.4124 ms/op 4.3825 ms/op 1.46
Tree 40 250000 create 401.31 ms/op 295.74 ms/op 1.36
Tree 40 250000 get(125000) 205.88 ns/op 117.26 ns/op 1.76
Tree 40 250000 set(125000) 1.1331 us/op 776.44 ns/op 1.46
Tree 40 250000 toArray() 24.426 ms/op 16.359 ms/op 1.49
Tree 40 250000 iterate all - toArray() + loop 23.448 ms/op 11.385 ms/op 2.06
Tree 40 250000 iterate all - get(i) 79.288 ms/op 44.967 ms/op 1.76
MutableVector 250000 create 17.540 ms/op 11.214 ms/op 1.56
MutableVector 250000 get(125000) 6.7550 ns/op 5.6610 ns/op 1.19
MutableVector 250000 set(125000) 306.52 ns/op 208.16 ns/op 1.47
MutableVector 250000 toArray() 4.3940 ms/op 3.4323 ms/op 1.28
MutableVector 250000 iterate all - toArray() + loop 4.4857 ms/op 3.3479 ms/op 1.34
MutableVector 250000 iterate all - get(i) 1.5834 ms/op 1.3771 ms/op 1.15
Array 250000 create 3.6112 ms/op 2.7740 ms/op 1.30
Array 250000 clone - spread 1.5602 ms/op 1.2104 ms/op 1.29
Array 250000 get(125000) 1.2720 ns/op 1.1760 ns/op 1.08
Array 250000 set(125000) 5.0790 ns/op 1.3710 ns/op 3.70
Array 250000 iterate all - loop 170.74 us/op 153.77 us/op 1.11
effectiveBalanceIncrements clone Uint8Array 300000 51.210 us/op 27.246 us/op 1.88
effectiveBalanceIncrements clone MutableVector 300000 436.00 ns/op 393.00 ns/op 1.11
effectiveBalanceIncrements rw all Uint8Array 300000 204.44 us/op 184.87 us/op 1.11
effectiveBalanceIncrements rw all MutableVector 300000 98.136 ms/op 67.636 ms/op 1.45
phase0 afterProcessEpoch - 250000 vs - 7PWei 117.59 ms/op 78.198 ms/op 1.50
phase0 beforeProcessEpoch - 250000 vs - 7PWei 55.360 ms/op 49.593 ms/op 1.12
altair processEpoch - mainnet_e81889 531.08 ms/op 406.21 ms/op 1.31
mainnet_e81889 - altair beforeProcessEpoch 87.416 ms/op 73.642 ms/op 1.19
mainnet_e81889 - altair processJustificationAndFinalization 19.467 us/op 7.6060 us/op 2.56
mainnet_e81889 - altair processInactivityUpdates 6.4139 ms/op 4.4431 ms/op 1.44
mainnet_e81889 - altair processRewardsAndPenalties 67.252 ms/op 62.104 ms/op 1.08
mainnet_e81889 - altair processRegistryUpdates 2.8970 us/op 2.4670 us/op 1.17
mainnet_e81889 - altair processSlashings 614.00 ns/op 644.00 ns/op 0.95
mainnet_e81889 - altair processEth1DataReset 1.2440 us/op 610.00 ns/op 2.04
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.4476 ms/op 1.8297 ms/op 0.79
mainnet_e81889 - altair processSlashingsReset 3.7520 us/op 3.7730 us/op 0.99
mainnet_e81889 - altair processRandaoMixesReset 5.4190 us/op 4.1340 us/op 1.31
mainnet_e81889 - altair processHistoricalRootsUpdate 1.3790 us/op 782.00 ns/op 1.76
mainnet_e81889 - altair processParticipationFlagUpdates 3.0960 us/op 1.3720 us/op 2.26
mainnet_e81889 - altair processSyncCommitteeUpdates 612.00 ns/op 637.00 ns/op 0.96
mainnet_e81889 - altair afterProcessEpoch 124.22 ms/op 79.923 ms/op 1.55
capella processEpoch - mainnet_e217614 2.4378 s/op 1.9791 s/op 1.23
mainnet_e217614 - capella beforeProcessEpoch 548.95 ms/op 445.57 ms/op 1.23
mainnet_e217614 - capella processJustificationAndFinalization 19.892 us/op 20.622 us/op 0.96
mainnet_e217614 - capella processInactivityUpdates 20.470 ms/op 20.654 ms/op 0.99
mainnet_e217614 - capella processRewardsAndPenalties 409.65 ms/op 391.91 ms/op 1.05
mainnet_e217614 - capella processRegistryUpdates 18.733 us/op 24.961 us/op 0.75
mainnet_e217614 - capella processSlashings 709.00 ns/op 815.00 ns/op 0.87
mainnet_e217614 - capella processEth1DataReset 464.00 ns/op 690.00 ns/op 0.67
mainnet_e217614 - capella processEffectiveBalanceUpdates 11.214 ms/op 3.5171 ms/op 3.19
mainnet_e217614 - capella processSlashingsReset 2.8810 us/op 4.4800 us/op 0.64
mainnet_e217614 - capella processRandaoMixesReset 4.6370 us/op 4.0040 us/op 1.16
mainnet_e217614 - capella processHistoricalRootsUpdate 730.00 ns/op 1.0630 us/op 0.69
mainnet_e217614 - capella processParticipationFlagUpdates 2.1220 us/op 1.5260 us/op 1.39
mainnet_e217614 - capella afterProcessEpoch 309.24 ms/op 207.55 ms/op 1.49
phase0 processEpoch - mainnet_e58758 473.40 ms/op 349.81 ms/op 1.35
mainnet_e58758 - phase0 beforeProcessEpoch 119.34 ms/op 123.58 ms/op 0.97
mainnet_e58758 - phase0 processJustificationAndFinalization 16.703 us/op 12.024 us/op 1.39
mainnet_e58758 - phase0 processRewardsAndPenalties 53.947 ms/op 52.811 ms/op 1.02
mainnet_e58758 - phase0 processRegistryUpdates 12.902 us/op 8.4320 us/op 1.53
mainnet_e58758 - phase0 processSlashings 531.00 ns/op 655.00 ns/op 0.81
mainnet_e58758 - phase0 processEth1DataReset 427.00 ns/op 527.00 ns/op 0.81
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1636 ms/op 925.55 us/op 1.26
mainnet_e58758 - phase0 processSlashingsReset 3.1210 us/op 2.4270 us/op 1.29
mainnet_e58758 - phase0 processRandaoMixesReset 4.7560 us/op 3.7440 us/op 1.27
mainnet_e58758 - phase0 processHistoricalRootsUpdate 432.00 ns/op 609.00 ns/op 0.71
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.7720 us/op 5.0700 us/op 0.74
mainnet_e58758 - phase0 afterProcessEpoch 100.91 ms/op 65.752 ms/op 1.53
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4173 ms/op 987.14 us/op 1.44
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5205 ms/op 1.1587 ms/op 1.31
altair processInactivityUpdates - 250000 normalcase 31.708 ms/op 29.025 ms/op 1.09
altair processInactivityUpdates - 250000 worstcase 30.406 ms/op 23.331 ms/op 1.30
phase0 processRegistryUpdates - 250000 normalcase 8.4490 us/op 10.686 us/op 0.79
phase0 processRegistryUpdates - 250000 badcase_full_deposits 354.77 us/op 364.80 us/op 0.97
phase0 processRegistryUpdates - 250000 worstcase 0.5 142.52 ms/op 128.35 ms/op 1.11
altair processRewardsAndPenalties - 250000 normalcase 60.489 ms/op 62.332 ms/op 0.97
altair processRewardsAndPenalties - 250000 worstcase 59.763 ms/op 50.915 ms/op 1.17
phase0 getAttestationDeltas - 250000 normalcase 10.536 ms/op 5.1125 ms/op 2.06
phase0 getAttestationDeltas - 250000 worstcase 10.604 ms/op 5.0348 ms/op 2.11
phase0 processSlashings - 250000 worstcase 99.963 us/op 81.842 us/op 1.22
altair processSyncCommitteeUpdates - 250000 160.75 ms/op 101.02 ms/op 1.59
BeaconState.hashTreeRoot - No change 262.00 ns/op 284.00 ns/op 0.92
BeaconState.hashTreeRoot - 1 full validator 131.33 us/op 92.259 us/op 1.42
BeaconState.hashTreeRoot - 32 full validator 1.4568 ms/op 1.2104 ms/op 1.20
BeaconState.hashTreeRoot - 512 full validator 15.790 ms/op 14.283 ms/op 1.11
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 149.84 us/op 122.75 us/op 1.22
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.1471 ms/op 1.6002 ms/op 1.34
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 29.737 ms/op 19.899 ms/op 1.49
BeaconState.hashTreeRoot - 1 balances 169.70 us/op 122.61 us/op 1.38
BeaconState.hashTreeRoot - 32 balances 1.2998 ms/op 1.1133 ms/op 1.17
BeaconState.hashTreeRoot - 512 balances 10.854 ms/op 12.126 ms/op 0.90
BeaconState.hashTreeRoot - 250000 balances 219.18 ms/op 165.59 ms/op 1.32
aggregationBits - 2048 els - zipIndexesInBitList 20.199 us/op 12.846 us/op 1.57
byteArrayEquals 32 74.459 ns/op 61.810 ns/op 1.20
Buffer.compare 32 58.868 ns/op 34.929 ns/op 1.69
byteArrayEquals 1024 2.0662 us/op 1.7008 us/op 1.21
Buffer.compare 1024 73.322 ns/op 42.448 ns/op 1.73
byteArrayEquals 16384 32.875 us/op 26.481 us/op 1.24
Buffer.compare 16384 276.57 ns/op 216.67 ns/op 1.28
byteArrayEquals 123687377 249.56 ms/op 209.72 ms/op 1.19
Buffer.compare 123687377 7.6239 ms/op 5.4093 ms/op 1.41
byteArrayEquals 32 - diff last byte 73.388 ns/op 62.988 ns/op 1.17
Buffer.compare 32 - diff last byte 58.041 ns/op 39.542 ns/op 1.47
byteArrayEquals 1024 - diff last byte 2.0761 us/op 1.7594 us/op 1.18
Buffer.compare 1024 - diff last byte 74.109 ns/op 47.034 ns/op 1.58
byteArrayEquals 16384 - diff last byte 33.067 us/op 27.331 us/op 1.21
Buffer.compare 16384 - diff last byte 277.47 ns/op 207.18 ns/op 1.34
byteArrayEquals 123687377 - diff last byte 251.35 ms/op 206.20 ms/op 1.22
Buffer.compare 123687377 - diff last byte 8.5454 ms/op 7.8330 ms/op 1.09
byteArrayEquals 32 - random bytes 5.9590 ns/op 5.3330 ns/op 1.12
Buffer.compare 32 - random bytes 63.219 ns/op 42.080 ns/op 1.50
byteArrayEquals 1024 - random bytes 6.0950 ns/op 4.9330 ns/op 1.24
Buffer.compare 1024 - random bytes 62.719 ns/op 40.678 ns/op 1.54
byteArrayEquals 16384 - random bytes 6.3840 ns/op 5.2580 ns/op 1.21
Buffer.compare 16384 - random bytes 62.064 ns/op 38.468 ns/op 1.61
byteArrayEquals 123687377 - random bytes 10.040 ns/op 8.6100 ns/op 1.17
Buffer.compare 123687377 - random bytes 74.950 ns/op 44.520 ns/op 1.68
regular array get 100000 times 46.163 us/op 42.328 us/op 1.09
wrappedArray get 100000 times 46.304 us/op 42.606 us/op 1.09
arrayWithProxy get 100000 times 14.889 ms/op 10.846 ms/op 1.37
ssz.Root.equals 55.847 ns/op 56.304 ns/op 0.99
byteArrayEquals 54.246 ns/op 56.280 ns/op 0.96
Buffer.compare 11.764 ns/op 10.237 ns/op 1.15
shuffle list - 16384 els 7.1740 ms/op 4.8252 ms/op 1.49
shuffle list - 250000 els 104.62 ms/op 70.076 ms/op 1.49
processSlot - 1 slots 20.101 us/op 14.811 us/op 1.36
processSlot - 32 slots 3.5321 ms/op 3.1983 ms/op 1.10
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 57.786 ms/op 51.139 ms/op 1.13
getCommitteeAssignments - req 1 vs - 250000 vc 2.5397 ms/op 2.2430 ms/op 1.13
getCommitteeAssignments - req 100 vs - 250000 vc 3.7299 ms/op 3.4241 ms/op 1.09
getCommitteeAssignments - req 1000 vs - 250000 vc 4.0873 ms/op 3.7051 ms/op 1.10
findModifiedValidators - 10000 modified validators 559.66 ms/op 432.94 ms/op 1.29
findModifiedValidators - 1000 modified validators 432.72 ms/op 415.01 ms/op 1.04
findModifiedValidators - 100 modified validators 415.85 ms/op 312.60 ms/op 1.33
findModifiedValidators - 10 modified validators 414.17 ms/op 301.68 ms/op 1.37
findModifiedValidators - 1 modified validators 407.09 ms/op 296.25 ms/op 1.37
findModifiedValidators - no difference 427.65 ms/op 295.76 ms/op 1.45
compare ViewDUs 4.3675 s/op 4.0378 s/op 1.08
compare each validator Uint8Array 1.8547 s/op 1.6869 s/op 1.10
compare ViewDU to Uint8Array 1.1652 s/op 855.61 ms/op 1.36
migrate state 1000000 validators, 24 modified, 0 new 743.60 ms/op 754.56 ms/op 0.99
migrate state 1000000 validators, 1700 modified, 1000 new 1.0658 s/op 1.1287 s/op 0.94
migrate state 1000000 validators, 3400 modified, 2000 new 1.4472 s/op 1.1896 s/op 1.22
migrate state 1500000 validators, 24 modified, 0 new 755.83 ms/op 710.40 ms/op 1.06
migrate state 1500000 validators, 1700 modified, 1000 new 1.0499 s/op 928.77 ms/op 1.13
migrate state 1500000 validators, 3400 modified, 2000 new 1.3284 s/op 1.1783 s/op 1.13
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.7500 ns/op 5.5900 ns/op 0.85
state getBlockRootAtSlot - 250000 vs - 7PWei 665.82 ns/op 416.58 ns/op 1.60
computeProposers - vc 250000 8.8687 ms/op 6.6675 ms/op 1.33
computeEpochShuffling - vc 250000 104.51 ms/op 68.799 ms/op 1.52
getNextSyncCommittee - vc 250000 160.40 ms/op 125.67 ms/op 1.28
computeSigningRoot for AttestationData 25.440 us/op 25.825 us/op 0.99
hash AttestationData serialized data then Buffer.toString(base64) 2.3546 us/op 1.2899 us/op 1.83
toHexString serialized data 1.1051 us/op 904.93 ns/op 1.22
Buffer.toString(base64) 222.95 ns/op 154.39 ns/op 1.44

by benchmarkbot/action

@philknows philknows merged commit 7935caf into unstable Dec 8, 2023
15 checks passed
@philknows philknows deleted the tuyen/persist_invalid_blocks branch December 8, 2023 05:04
philknows pushed a commit that referenced this pull request Dec 8, 2023
* fix: persist invalid blocks when publish

* feat: add option to persist produced blocks

* chore: log body root when publishing block
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.12.1 🎉

@wemeetagain
Copy link
Member

🎉 This PR is included in v1.13.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.

4 participants