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

test: fix the benchmark tests #6160

Merged
merged 3 commits into from
Dec 6, 2023
Merged

test: fix the benchmark tests #6160

merged 3 commits into from
Dec 6, 2023

Conversation

nazarhussain
Copy link
Contributor

Motivation

Fix benchmark workflow.

Description

Closes #issue_number

Steps to test or reproduce

@nazarhussain nazarhussain changed the title fix: Fix the benchmark workflow test: Fix the benchmark workflow Dec 6, 2023
@nazarhussain nazarhussain changed the title test: Fix the benchmark workflow test: fix the benchmark workflow Dec 6, 2023
Copy link
Contributor

github-actions bot commented Dec 6, 2023

⚠️ Performance Alert ⚠️

Possible performance regression was detected for some benchmarks.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold.

Benchmark suite Current: 0a5afaf Previous: 5201ac4 Ratio
isKnown best case - 1 super set check 921.00 ns/op 287.00 ns/op 3.21
isKnown normal case - 2 super set checks 970.00 ns/op 287.00 ns/op 3.38
Full benchmark results
Benchmark suite Current: 0a5afaf Previous: 5201ac4 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 873.31 us/op 739.80 us/op 1.18
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 155.08 us/op 80.114 us/op 1.94
BLS verify - blst-native 1.4156 ms/op 1.2655 ms/op 1.12
BLS verifyMultipleSignatures 3 - blst-native 2.7757 ms/op 2.6535 ms/op 1.05
BLS verifyMultipleSignatures 8 - blst-native 6.2216 ms/op 5.8306 ms/op 1.07
BLS verifyMultipleSignatures 32 - blst-native 23.266 ms/op 21.319 ms/op 1.09
BLS verifyMultipleSignatures 64 - blst-native 47.889 ms/op 42.009 ms/op 1.14
BLS verifyMultipleSignatures 128 - blst-native 96.235 ms/op 83.378 ms/op 1.15
BLS deserializing 10000 signatures 975.26 ms/op 876.05 ms/op 1.11
BLS deserializing 100000 signatures 10.883 s/op 8.8350 s/op 1.23
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.9132 ms/op 1.3712 ms/op 1.40
BLS verifyMultipleSignatures - same message - 8 - blst-native 2.1902 ms/op 1.4199 ms/op 1.54
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.9436 ms/op 2.1971 ms/op 1.34
BLS verifyMultipleSignatures - same message - 64 - blst-native 4.4690 ms/op 3.2284 ms/op 1.38
BLS verifyMultipleSignatures - same message - 128 - blst-native 6.3837 ms/op 6.6548 ms/op 0.96
BLS aggregatePubkeys 32 - blst-native 35.037 us/op 25.238 us/op 1.39
BLS aggregatePubkeys 128 - blst-native 130.28 us/op 92.664 us/op 1.41
getAttestationsForBlock 83.966 ms/op 43.589 ms/op 1.93
getSlashingsAndExits - default max 518.27 us/op
getSlashingsAndExits - 2k 691.02 us/op
proposeBlockBody type=full, size=empty 10.552 ms/op
isKnown best case - 1 super set check 921.00 ns/op 287.00 ns/op 3.21
isKnown normal case - 2 super set checks 970.00 ns/op 287.00 ns/op 3.38
isKnown worse case - 16 super set checks 854.00 ns/op 286.00 ns/op 2.99
CheckpointStateCache - add get delete 8.9430 us/op 5.4090 us/op 1.65
validate api signedAggregateAndProof - struct 3.1797 ms/op 2.6343 ms/op 1.21
validate gossip signedAggregateAndProof - struct 3.7086 ms/op 2.6328 ms/op 1.41
validate gossip attestation - vc 640000 1.6057 ms/op 1.3189 ms/op 1.22
batch validate gossip attestation - vc 640000 - chunk 32 206.36 us/op 156.35 us/op 1.32
batch validate gossip attestation - vc 640000 - chunk 64 180.50 us/op 137.84 us/op 1.31
batch validate gossip attestation - vc 640000 - chunk 128 144.45 us/op 126.79 us/op 1.14
batch validate gossip attestation - vc 640000 - chunk 256 133.49 us/op 123.46 us/op 1.08
pickEth1Vote - no votes 1.3308 ms/op 1.1025 ms/op 1.21
pickEth1Vote - max votes 10.050 ms/op 8.9987 ms/op 1.12
pickEth1Vote - Eth1Data hashTreeRoot value x2048 16.078 ms/op 22.652 ms/op 0.71
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 23.761 ms/op 30.686 ms/op 0.77
pickEth1Vote - Eth1Data fastSerialize value x2048 737.58 us/op 548.74 us/op 1.34
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.3079 ms/op 6.2145 ms/op 0.85
bytes32 toHexString 571.00 ns/op 461.00 ns/op 1.24
bytes32 Buffer.toString(hex) 308.00 ns/op 271.00 ns/op 1.14
bytes32 Buffer.toString(hex) from Uint8Array 527.00 ns/op 419.00 ns/op 1.26
bytes32 Buffer.toString(hex) + 0x 320.00 ns/op 275.00 ns/op 1.16
Object access 1 prop 0.17100 ns/op 0.15900 ns/op 1.08
Map access 1 prop 0.14900 ns/op 0.14400 ns/op 1.03
Object get x1000 7.5910 ns/op 6.9940 ns/op 1.09
Map get x1000 0.75400 ns/op 0.73000 ns/op 1.03
Object set x1000 53.078 ns/op 48.248 ns/op 1.10
Map set x1000 40.293 ns/op 37.520 ns/op 1.07
Return object 10000 times 0.24050 ns/op 0.23110 ns/op 1.04
Throw Error 10000 times 4.1909 us/op 3.7598 us/op 1.11
fastMsgIdFn sha256 / 200 bytes 3.3030 us/op 3.1640 us/op 1.04
fastMsgIdFn h32 xxhash / 200 bytes 321.00 ns/op 262.00 ns/op 1.23
fastMsgIdFn h64 xxhash / 200 bytes 374.00 ns/op 325.00 ns/op 1.15
fastMsgIdFn sha256 / 1000 bytes 11.690 us/op 10.905 us/op 1.07
fastMsgIdFn h32 xxhash / 1000 bytes 427.00 ns/op 392.00 ns/op 1.09
fastMsgIdFn h64 xxhash / 1000 bytes 443.00 ns/op 390.00 ns/op 1.14
fastMsgIdFn sha256 / 10000 bytes 105.46 us/op 99.572 us/op 1.06
fastMsgIdFn h32 xxhash / 10000 bytes 2.0260 us/op 1.8790 us/op 1.08
fastMsgIdFn h64 xxhash / 10000 bytes 1.4400 us/op 1.2940 us/op 1.11
send data - 1000 256B messages 21.044 ms/op 17.695 ms/op 1.19
send data - 1000 512B messages 29.977 ms/op 24.884 ms/op 1.20
send data - 1000 1024B messages 46.377 ms/op 39.230 ms/op 1.18
send data - 1000 1200B messages 41.164 ms/op 35.221 ms/op 1.17
send data - 1000 2048B messages 44.767 ms/op 42.159 ms/op 1.06
send data - 1000 4096B messages 39.283 ms/op 40.787 ms/op 0.96
send data - 1000 16384B messages 116.00 ms/op 107.85 ms/op 1.08
send data - 1000 65536B messages 495.96 ms/op 392.78 ms/op 1.26
enrSubnets - fastDeserialize 64 bits 1.2430 us/op 1.2440 us/op 1.00
enrSubnets - ssz BitVector 64 bits 421.00 ns/op 402.00 ns/op 1.05
enrSubnets - fastDeserialize 4 bits 177.00 ns/op 154.00 ns/op 1.15
enrSubnets - ssz BitVector 4 bits 418.00 ns/op 402.00 ns/op 1.04
prioritizePeers score -10:0 att 32-0.1 sync 2-0 102.34 us/op 99.907 us/op 1.02
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 130.49 us/op 117.11 us/op 1.11
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 168.37 us/op 159.60 us/op 1.05
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 297.93 us/op 317.38 us/op 0.94
prioritizePeers score 0:0 att 64-1 sync 4-1 345.40 us/op 333.56 us/op 1.04
array of 16000 items push then shift 1.6017 us/op 1.5818 us/op 1.01
LinkedList of 16000 items push then shift 8.5570 ns/op 8.7610 ns/op 0.98
array of 16000 items push then pop 91.069 ns/op 82.861 ns/op 1.10
LinkedList of 16000 items push then pop 8.6720 ns/op 8.5250 ns/op 1.02
array of 24000 items push then shift 2.4162 us/op 2.3338 us/op 1.04
LinkedList of 24000 items push then shift 8.9620 ns/op 8.7430 ns/op 1.03
array of 24000 items push then pop 117.22 ns/op 102.43 ns/op 1.14
LinkedList of 24000 items push then pop 8.6150 ns/op 8.4490 ns/op 1.02
intersect bitArray bitLen 8 6.2910 ns/op 6.2420 ns/op 1.01
intersect array and set length 8 61.546 ns/op 59.985 ns/op 1.03
intersect bitArray bitLen 128 33.777 ns/op 33.098 ns/op 1.02
intersect array and set length 128 839.42 ns/op 829.06 ns/op 1.01
bitArray.getTrueBitIndexes() bitLen 128 1.4130 us/op 1.3580 us/op 1.04
bitArray.getTrueBitIndexes() bitLen 248 2.4490 us/op 2.3270 us/op 1.05
bitArray.getTrueBitIndexes() bitLen 512 4.7130 us/op 4.5050 us/op 1.05
Buffer.concat 32 items 904.00 ns/op 888.00 ns/op 1.02
Uint8Array.set 32 items 1.5860 us/op 1.5930 us/op 1.00
Set add up to 64 items then delete first 4.3287 us/op 4.2085 us/op 1.03
OrderedSet add up to 64 items then delete first 5.4207 us/op 5.2836 us/op 1.03
Set add up to 64 items then delete last 4.8898 us/op 4.5890 us/op 1.07
OrderedSet add up to 64 items then delete last 5.8093 us/op 5.6447 us/op 1.03
Set add up to 64 items then delete middle 4.6632 us/op 4.4479 us/op 1.05
OrderedSet add up to 64 items then delete middle 7.1644 us/op 6.8222 us/op 1.05
Set add up to 128 items then delete first 9.5833 us/op 9.1799 us/op 1.04
OrderedSet add up to 128 items then delete first 13.179 us/op 12.150 us/op 1.08
Set add up to 128 items then delete last 9.1992 us/op 9.1242 us/op 1.01
OrderedSet add up to 128 items then delete last 11.697 us/op 11.377 us/op 1.03
Set add up to 128 items then delete middle 9.2193 us/op 8.8459 us/op 1.04
OrderedSet add up to 128 items then delete middle 17.127 us/op 16.465 us/op 1.04
Set add up to 256 items then delete first 18.756 us/op 18.746 us/op 1.00
OrderedSet add up to 256 items then delete first 25.502 us/op 24.950 us/op 1.02
Set add up to 256 items then delete last 18.604 us/op 18.094 us/op 1.03
OrderedSet add up to 256 items then delete last 23.772 us/op 22.901 us/op 1.04
Set add up to 256 items then delete middle 18.436 us/op 17.600 us/op 1.05
OrderedSet add up to 256 items then delete middle 45.371 us/op 43.877 us/op 1.03
transfer serialized Status (84 B) 1.7760 us/op 1.6920 us/op 1.05
copy serialized Status (84 B) 1.4640 us/op 1.4580 us/op 1.00
transfer serialized SignedVoluntaryExit (112 B) 1.8750 us/op 2.0590 us/op 0.91
copy serialized SignedVoluntaryExit (112 B) 1.5160 us/op 1.7370 us/op 0.87
transfer serialized ProposerSlashing (416 B) 1.9730 us/op 2.8520 us/op 0.69
copy serialized ProposerSlashing (416 B) 1.7660 us/op 2.6770 us/op 0.66
transfer serialized Attestation (485 B) 2.0160 us/op 2.6390 us/op 0.76
copy serialized Attestation (485 B) 1.7820 us/op 2.9840 us/op 0.60
transfer serialized AttesterSlashing (33232 B) 2.2630 us/op 3.1810 us/op 0.71
copy serialized AttesterSlashing (33232 B) 5.1940 us/op 6.2910 us/op 0.83
transfer serialized Small SignedBeaconBlock (128000 B) 2.5010 us/op 2.8860 us/op 0.87
copy serialized Small SignedBeaconBlock (128000 B) 14.465 us/op 16.054 us/op 0.90
transfer serialized Avg SignedBeaconBlock (200000 B) 3.0440 us/op 3.2270 us/op 0.94
copy serialized Avg SignedBeaconBlock (200000 B) 20.722 us/op 22.421 us/op 0.92
transfer serialized BlobsSidecar (524380 B) 2.9640 us/op 2.8530 us/op 1.04
copy serialized BlobsSidecar (524380 B) 85.052 us/op 88.633 us/op 0.96
transfer serialized Big SignedBeaconBlock (1000000 B) 2.9740 us/op 3.1240 us/op 0.95
copy serialized Big SignedBeaconBlock (1000000 B) 166.62 us/op 161.75 us/op 1.03
pass gossip attestations to forkchoice per slot 4.2464 ms/op 4.0058 ms/op 1.06
forkChoice updateHead vc 100000 bc 64 eq 0 693.33 us/op 719.43 us/op 0.96
forkChoice updateHead vc 600000 bc 64 eq 0 5.0236 ms/op 5.1202 ms/op 0.98
forkChoice updateHead vc 1000000 bc 64 eq 0 7.0751 ms/op 6.8886 ms/op 1.03
forkChoice updateHead vc 600000 bc 320 eq 0 4.2346 ms/op 3.9607 ms/op 1.07
forkChoice updateHead vc 600000 bc 1200 eq 0 4.2756 ms/op 4.0298 ms/op 1.06
forkChoice updateHead vc 600000 bc 7200 eq 0 5.2515 ms/op 4.9291 ms/op 1.07
forkChoice updateHead vc 600000 bc 64 eq 1000 11.071 ms/op 10.471 ms/op 1.06
forkChoice updateHead vc 600000 bc 64 eq 10000 11.805 ms/op 11.242 ms/op 1.05
forkChoice updateHead vc 600000 bc 64 eq 300000 15.656 ms/op 14.930 ms/op 1.05
computeDeltas 500000 validators 300 proto nodes 6.6165 ms/op 6.4080 ms/op 1.03
computeDeltas 500000 validators 1200 proto nodes 6.6912 ms/op 6.5627 ms/op 1.02
computeDeltas 500000 validators 7200 proto nodes 6.5125 ms/op 6.2924 ms/op 1.03
computeDeltas 750000 validators 300 proto nodes 9.8448 ms/op 9.5432 ms/op 1.03
computeDeltas 750000 validators 1200 proto nodes 10.071 ms/op 9.5263 ms/op 1.06
computeDeltas 750000 validators 7200 proto nodes 9.9916 ms/op 9.5998 ms/op 1.04
computeDeltas 1400000 validators 300 proto nodes 18.507 ms/op 17.934 ms/op 1.03
computeDeltas 1400000 validators 1200 proto nodes 19.495 ms/op 17.833 ms/op 1.09
computeDeltas 1400000 validators 7200 proto nodes 19.340 ms/op 17.630 ms/op 1.10
computeDeltas 2100000 validators 300 proto nodes 28.971 ms/op 27.325 ms/op 1.06
computeDeltas 2100000 validators 1200 proto nodes 29.541 ms/op 27.603 ms/op 1.07
computeDeltas 2100000 validators 7200 proto nodes 28.341 ms/op 28.509 ms/op 0.99
computeProposerBoostScoreFromBalances 500000 validators 3.7433 ms/op 3.5905 ms/op 1.04
computeProposerBoostScoreFromBalances 750000 validators 3.7370 ms/op 3.6214 ms/op 1.03
computeProposerBoostScoreFromBalances 1400000 validators 3.7294 ms/op 3.6578 ms/op 1.02
computeProposerBoostScoreFromBalances 2100000 validators 3.7158 ms/op 3.6559 ms/op 1.02
altair processAttestation - 250000 vs - 7PWei normalcase 2.2931 ms/op 2.2217 ms/op 1.03
altair processAttestation - 250000 vs - 7PWei worstcase 3.4806 ms/op 3.2264 ms/op 1.08
altair processAttestation - setStatus - 1/6 committees join 179.88 us/op 171.14 us/op 1.05
altair processAttestation - setStatus - 1/3 committees join 361.52 us/op 332.49 us/op 1.09
altair processAttestation - setStatus - 1/2 committees join 477.37 us/op 446.79 us/op 1.07
altair processAttestation - setStatus - 2/3 committees join 604.95 us/op 550.07 us/op 1.10
altair processAttestation - setStatus - 4/5 committees join 804.75 us/op 770.34 us/op 1.04
altair processAttestation - setStatus - 100% committees join 964.47 us/op 870.17 us/op 1.11
altair processBlock - 250000 vs - 7PWei normalcase 12.752 ms/op 10.071 ms/op 1.27
altair processBlock - 250000 vs - 7PWei normalcase hashState 39.089 ms/op 36.180 ms/op 1.08
altair processBlock - 250000 vs - 7PWei worstcase 41.300 ms/op 35.483 ms/op 1.16
altair processBlock - 250000 vs - 7PWei worstcase hashState 89.587 ms/op 92.005 ms/op 0.97
phase0 processBlock - 250000 vs - 7PWei normalcase 3.0840 ms/op 3.4608 ms/op 0.89
phase0 processBlock - 250000 vs - 7PWei worstcase 30.994 ms/op 31.258 ms/op 0.99
altair processEth1Data - 250000 vs - 7PWei normalcase 525.76 us/op 539.71 us/op 0.97
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 12.090 us/op 14.236 us/op 0.85
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 58.058 us/op 94.485 us/op 0.61
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 27.093 us/op 16.762 us/op 1.62
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 11.021 us/op 17.887 us/op 0.62
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 200.46 us/op 212.96 us/op 0.94
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.5742 ms/op 2.0891 ms/op 0.75
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.1608 ms/op 2.8574 ms/op 0.76
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.8104 ms/op 2.2329 ms/op 0.81
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.0855 ms/op 3.3195 ms/op 1.23
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.5053 ms/op 2.1714 ms/op 1.15
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 6.4040 ms/op 4.6929 ms/op 1.36
Tree 40 250000 create 414.92 ms/op 347.23 ms/op 1.19
Tree 40 250000 get(125000) 202.19 ns/op 189.35 ns/op 1.07
Tree 40 250000 set(125000) 1.0595 us/op 970.46 ns/op 1.09
Tree 40 250000 toArray() 22.398 ms/op 18.870 ms/op 1.19
Tree 40 250000 iterate all - toArray() + loop 25.347 ms/op 18.874 ms/op 1.34
Tree 40 250000 iterate all - get(i) 78.097 ms/op 66.009 ms/op 1.18
MutableVector 250000 create 16.411 ms/op 16.656 ms/op 0.99
MutableVector 250000 get(125000) 6.7180 ns/op 6.3550 ns/op 1.06
MutableVector 250000 set(125000) 347.06 ns/op 252.79 ns/op 1.37
MutableVector 250000 toArray() 4.7855 ms/op 3.2358 ms/op 1.48
MutableVector 250000 iterate all - toArray() + loop 4.6422 ms/op 3.2470 ms/op 1.43
MutableVector 250000 iterate all - get(i) 1.5739 ms/op 1.4793 ms/op 1.06
Array 250000 create 3.0683 ms/op 2.7956 ms/op 1.10
Array 250000 clone - spread 1.2956 ms/op 1.2731 ms/op 1.02
Array 250000 get(125000) 1.0900 ns/op 1.0200 ns/op 1.07
Array 250000 set(125000) 4.1700 ns/op 4.0770 ns/op 1.02
Array 250000 iterate all - loop 166.75 us/op 161.92 us/op 1.03
effectiveBalanceIncrements clone Uint8Array 300000 32.304 us/op 26.647 us/op 1.21
effectiveBalanceIncrements clone MutableVector 300000 399.00 ns/op 366.00 ns/op 1.09
effectiveBalanceIncrements rw all Uint8Array 300000 201.14 us/op 194.48 us/op 1.03
effectiveBalanceIncrements rw all MutableVector 300000 89.156 ms/op 82.126 ms/op 1.09
phase0 afterProcessEpoch - 250000 vs - 7PWei 118.41 ms/op 109.44 ms/op 1.08
phase0 beforeProcessEpoch - 250000 vs - 7PWei 55.304 ms/op 53.800 ms/op 1.03
altair processEpoch - mainnet_e81889 519.64 ms/op 519.62 ms/op 1.00
mainnet_e81889 - altair beforeProcessEpoch 86.962 ms/op 78.556 ms/op 1.11
mainnet_e81889 - altair processJustificationAndFinalization 17.862 us/op 22.938 us/op 0.78
mainnet_e81889 - altair processInactivityUpdates 6.3264 ms/op 5.4911 ms/op 1.15
mainnet_e81889 - altair processRewardsAndPenalties 64.253 ms/op 72.962 ms/op 0.88
mainnet_e81889 - altair processRegistryUpdates 3.5730 us/op 3.9670 us/op 0.90
mainnet_e81889 - altair processSlashings 565.00 ns/op 717.00 ns/op 0.79
mainnet_e81889 - altair processEth1DataReset 584.00 ns/op 766.00 ns/op 0.76
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.4397 ms/op 2.5904 ms/op 0.56
mainnet_e81889 - altair processSlashingsReset 4.3390 us/op 6.2860 us/op 0.69
mainnet_e81889 - altair processRandaoMixesReset 5.4400 us/op 8.1360 us/op 0.67
mainnet_e81889 - altair processHistoricalRootsUpdate 2.6650 us/op 916.00 ns/op 2.91
mainnet_e81889 - altair processParticipationFlagUpdates 2.2450 us/op 3.8570 us/op 0.58
mainnet_e81889 - altair processSyncCommitteeUpdates 1.0230 us/op 1.0630 us/op 0.96
mainnet_e81889 - altair afterProcessEpoch 121.78 ms/op 116.83 ms/op 1.04
capella processEpoch - mainnet_e217614 2.4898 s/op 2.2645 s/op 1.10
mainnet_e217614 - capella beforeProcessEpoch 574.81 ms/op 452.75 ms/op 1.27
mainnet_e217614 - capella processJustificationAndFinalization 47.531 us/op 18.230 us/op 2.61
mainnet_e217614 - capella processInactivityUpdates 43.883 ms/op 19.164 ms/op 2.29
mainnet_e217614 - capella processRewardsAndPenalties 623.91 ms/op 412.86 ms/op 1.51
mainnet_e217614 - capella processRegistryUpdates 35.926 us/op 28.128 us/op 1.28
mainnet_e217614 - capella processSlashings 1.2520 us/op 824.00 ns/op 1.52
mainnet_e217614 - capella processEth1DataReset 1.2470 us/op 720.00 ns/op 1.73
mainnet_e217614 - capella processEffectiveBalanceUpdates 16.629 ms/op 4.9102 ms/op 3.39
mainnet_e217614 - capella processSlashingsReset 8.8950 us/op 3.9550 us/op 2.25
mainnet_e217614 - capella processRandaoMixesReset 11.817 us/op 6.9890 us/op 1.69
mainnet_e217614 - capella processHistoricalRootsUpdate 1.5420 us/op 979.00 ns/op 1.58
mainnet_e217614 - capella processParticipationFlagUpdates 6.6220 us/op 3.3360 us/op 1.99
mainnet_e217614 - capella afterProcessEpoch 383.09 ms/op 286.22 ms/op 1.34
phase0 processEpoch - mainnet_e58758 729.42 ms/op 471.45 ms/op 1.55
mainnet_e58758 - phase0 beforeProcessEpoch 279.98 ms/op 151.88 ms/op 1.84
mainnet_e58758 - phase0 processJustificationAndFinalization 38.221 us/op 25.387 us/op 1.51
mainnet_e58758 - phase0 processRewardsAndPenalties 88.556 ms/op 60.222 ms/op 1.47
mainnet_e58758 - phase0 processRegistryUpdates 27.869 us/op 14.165 us/op 1.97
mainnet_e58758 - phase0 processSlashings 1.3530 us/op 861.00 ns/op 1.57
mainnet_e58758 - phase0 processEth1DataReset 1.1840 us/op 657.00 ns/op 1.80
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.7413 ms/op 2.1616 ms/op 0.81
mainnet_e58758 - phase0 processSlashingsReset 6.6720 us/op 4.3730 us/op 1.53
mainnet_e58758 - phase0 processRandaoMixesReset 9.0840 us/op 6.3850 us/op 1.42
mainnet_e58758 - phase0 processHistoricalRootsUpdate 854.00 ns/op 653.00 ns/op 1.31
mainnet_e58758 - phase0 processParticipationRecordUpdates 6.1410 us/op 4.9200 us/op 1.25
mainnet_e58758 - phase0 afterProcessEpoch 102.37 ms/op 94.514 ms/op 1.08
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4161 ms/op 2.4886 ms/op 0.57
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.7766 ms/op 2.6895 ms/op 0.66
altair processInactivityUpdates - 250000 normalcase 28.814 ms/op 27.062 ms/op 1.06
altair processInactivityUpdates - 250000 worstcase 26.191 ms/op 31.394 ms/op 0.83
phase0 processRegistryUpdates - 250000 normalcase 9.6300 us/op 11.032 us/op 0.87
phase0 processRegistryUpdates - 250000 badcase_full_deposits 404.60 us/op 617.43 us/op 0.66
phase0 processRegistryUpdates - 250000 worstcase 0.5 130.91 ms/op 122.35 ms/op 1.07
altair processRewardsAndPenalties - 250000 normalcase 62.464 ms/op 65.473 ms/op 0.95
altair processRewardsAndPenalties - 250000 worstcase 63.701 ms/op 63.254 ms/op 1.01
phase0 getAttestationDeltas - 250000 normalcase 8.9502 ms/op 8.4964 ms/op 1.05
phase0 getAttestationDeltas - 250000 worstcase 11.754 ms/op 8.5149 ms/op 1.38
phase0 processSlashings - 250000 worstcase 110.65 us/op 132.70 us/op 0.83
altair processSyncCommitteeUpdates - 250000 169.32 ms/op 156.13 ms/op 1.08
BeaconState.hashTreeRoot - No change 259.00 ns/op 232.00 ns/op 1.12
BeaconState.hashTreeRoot - 1 full validator 191.75 us/op 143.72 us/op 1.33
BeaconState.hashTreeRoot - 32 full validator 1.7966 ms/op 1.6988 ms/op 1.06
BeaconState.hashTreeRoot - 512 full validator 19.265 ms/op 18.722 ms/op 1.03
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 182.28 us/op 209.62 us/op 0.87
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.4377 ms/op 2.9605 ms/op 0.82
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 41.137 ms/op 40.666 ms/op 1.01
BeaconState.hashTreeRoot - 1 balances 164.79 us/op 172.29 us/op 0.96
BeaconState.hashTreeRoot - 32 balances 1.6334 ms/op 1.5157 ms/op 1.08
BeaconState.hashTreeRoot - 512 balances 12.996 ms/op 13.488 ms/op 0.96
BeaconState.hashTreeRoot - 250000 balances 223.94 ms/op 226.13 ms/op 0.99
aggregationBits - 2048 els - zipIndexesInBitList 26.450 us/op 16.840 us/op 1.57
byteArrayEquals 32 80.956 ns/op 71.868 ns/op 1.13
Buffer.compare 32 56.266 ns/op 53.054 ns/op 1.06
byteArrayEquals 1024 2.0899 us/op 1.9609 us/op 1.07
Buffer.compare 1024 72.049 ns/op 67.485 ns/op 1.07
byteArrayEquals 16384 33.028 us/op 31.237 us/op 1.06
Buffer.compare 16384 270.07 ns/op 261.56 ns/op 1.03
byteArrayEquals 123687377 250.95 ms/op 242.66 ms/op 1.03
Buffer.compare 123687377 7.4373 ms/op 6.1094 ms/op 1.22
byteArrayEquals 32 - diff last byte 73.291 ns/op 71.367 ns/op 1.03
Buffer.compare 32 - diff last byte 56.513 ns/op 58.118 ns/op 0.97
byteArrayEquals 1024 - diff last byte 2.0096 us/op 1.9693 us/op 1.02
Buffer.compare 1024 - diff last byte 72.167 ns/op 68.669 ns/op 1.05
byteArrayEquals 16384 - diff last byte 32.551 us/op 31.432 us/op 1.04
Buffer.compare 16384 - diff last byte 289.09 ns/op 249.55 ns/op 1.16
byteArrayEquals 123687377 - diff last byte 244.58 ms/op 230.83 ms/op 1.06
Buffer.compare 123687377 - diff last byte 7.4797 ms/op 6.0457 ms/op 1.24
byteArrayEquals 32 - random bytes 5.5180 ns/op 4.9260 ns/op 1.12
Buffer.compare 32 - random bytes 60.578 ns/op 56.810 ns/op 1.07
byteArrayEquals 1024 - random bytes 5.1810 ns/op 4.8440 ns/op 1.07
Buffer.compare 1024 - random bytes 61.984 ns/op 56.289 ns/op 1.10
byteArrayEquals 16384 - random bytes 5.3000 ns/op 4.8370 ns/op 1.10
Buffer.compare 16384 - random bytes 60.683 ns/op 56.641 ns/op 1.07
byteArrayEquals 123687377 - random bytes 8.8100 ns/op 7.6600 ns/op 1.15
Buffer.compare 123687377 - random bytes 66.740 ns/op 59.080 ns/op 1.13
regular array get 100000 times 45.331 us/op 41.319 us/op 1.10
wrappedArray get 100000 times 45.360 us/op 41.412 us/op 1.10
arrayWithProxy get 100000 times 14.304 ms/op 14.652 ms/op 0.98
ssz.Root.equals 54.391 ns/op 53.055 ns/op 1.03
byteArrayEquals 53.492 ns/op 52.170 ns/op 1.03
Buffer.compare 11.726 ns/op 10.652 ns/op 1.10
shuffle list - 16384 els 7.0704 ms/op 6.7463 ms/op 1.05
shuffle list - 250000 els 104.26 ms/op 99.956 ms/op 1.04
processSlot - 1 slots 17.696 us/op 18.299 us/op 0.97
processSlot - 32 slots 3.2935 ms/op 3.3333 ms/op 0.99
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 61.034 ms/op 59.612 ms/op 1.02
getCommitteeAssignments - req 1 vs - 250000 vc 2.4808 ms/op 2.4814 ms/op 1.00
getCommitteeAssignments - req 100 vs - 250000 vc 3.6522 ms/op 3.6492 ms/op 1.00
getCommitteeAssignments - req 1000 vs - 250000 vc 4.0016 ms/op 3.9909 ms/op 1.00
findModifiedValidators - 10000 modified validators 525.84 ms/op 542.18 ms/op 0.97
findModifiedValidators - 1000 modified validators 430.33 ms/op 412.23 ms/op 1.04
findModifiedValidators - 100 modified validators 402.87 ms/op 352.91 ms/op 1.14
findModifiedValidators - 10 modified validators 392.86 ms/op 385.94 ms/op 1.02
findModifiedValidators - 1 modified validators 404.15 ms/op 397.51 ms/op 1.02
findModifiedValidators - no difference 414.89 ms/op 416.14 ms/op 1.00
compare ViewDUs 4.4441 s/op 5.0722 s/op 0.88
compare each validator Uint8Array 1.2632 s/op 1.5912 s/op 0.79
compare ViewDU to Uint8Array 1.1563 s/op 1.0794 s/op 1.07
migrate state 1000000 validators, 24 modified, 0 new 775.43 ms/op 897.63 ms/op 0.86
migrate state 1000000 validators, 1700 modified, 1000 new 1.0990 s/op 1.1896 s/op 0.92
migrate state 1000000 validators, 3400 modified, 2000 new 1.4701 s/op 1.4153 s/op 1.04
migrate state 1500000 validators, 24 modified, 0 new 948.40 ms/op 898.74 ms/op 1.06
migrate state 1500000 validators, 1700 modified, 1000 new 1.1946 s/op 1.1975 s/op 1.00
migrate state 1500000 validators, 3400 modified, 2000 new 1.3322 s/op 1.3649 s/op 0.98
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.2500 ns/op 4.0200 ns/op 1.06
state getBlockRootAtSlot - 250000 vs - 7PWei 540.69 ns/op 926.66 ns/op 0.58
computeProposers - vc 250000 9.0991 ms/op 8.5250 ms/op 1.07
computeEpochShuffling - vc 250000 103.37 ms/op 100.77 ms/op 1.03
getNextSyncCommittee - vc 250000 148.69 ms/op 147.26 ms/op 1.01
computeSigningRoot for AttestationData 22.672 us/op 27.681 us/op 0.82
hash AttestationData serialized data then Buffer.toString(base64) 2.3094 us/op 2.2381 us/op 1.03
toHexString serialized data 1.0818 us/op 1.0545 us/op 1.03
Buffer.toString(base64) 215.21 ns/op 212.35 ns/op 1.01

by benchmarkbot/action

@nazarhussain nazarhussain marked this pull request as ready for review December 6, 2023 11:57
@nazarhussain nazarhussain requested a review from a team as a code owner December 6, 2023 11:57
@nazarhussain nazarhussain self-assigned this Dec 6, 2023
@nazarhussain nazarhussain changed the title test: fix the benchmark workflow test: fix the benchmark tests Dec 6, 2023
@@ -17,6 +17,7 @@ on:
branches:
- stable
- unstable
workflow_dispatch:
Copy link
Contributor

Choose a reason for hiding this comment

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

is this necessary?

Copy link
Member

Choose a reason for hiding this comment

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

I think it is just to be able to trigger it manually, might be useful to have

Copy link
Contributor Author

Choose a reason for hiding this comment

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

In some discussions @dapplion suggested to open draft PRs to test some idea. For that purpose it's required sometime to run some workflows manually on branches.

@@ -17,6 +17,7 @@ on:
branches:
- stable
- unstable
workflow_dispatch:
Copy link
Member

Choose a reason for hiding this comment

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

I think it is just to be able to trigger it manually, might be useful to have

@nazarhussain nazarhussain merged commit f8d3ab0 into unstable Dec 6, 2023
14 of 16 checks passed
@nazarhussain nazarhussain deleted the nh/fix-perf-test branch December 6, 2023 14:17
jeluard pushed a commit that referenced this pull request Dec 7, 2023
* Update the number of validators

* Run the benchmark workflow manually

* Add comments explaining the function side effects
@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