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

chore: add eslint rule to prevent unused expressions #6445

Merged
merged 3 commits into from Feb 22, 2024

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Feb 17, 2024

Motivation

Closes #5505

Description

Add eslint rule to prevent unused expressions

@nflaig nflaig requested a review from a team as a code owner February 17, 2024 12:31
Copy link
Contributor

github-actions bot commented Feb 17, 2024

⚠️ 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: 29fe651 Previous: 8959bda Ratio
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 166.55 us/op 52.713 us/op 3.16
Object set x1000 107.20 ns/op 25.506 ns/op 4.20
Map set x1000 74.460 ns/op 18.433 ns/op 4.04
fastMsgIdFn sha256 / 1000 bytes 21.135 us/op 5.9550 us/op 3.55
fastMsgIdFn h32 xxhash / 1000 bytes 1.3670 us/op 446.00 ns/op 3.07
forkChoice updateHead vc 600000 bc 64 eq 300000 55.427 ms/op 12.158 ms/op 4.56
altair processAttestation - setStatus - 1/6 committees join 250.22 us/op 75.732 us/op 3.30
altair processEth1Data - 250000 vs - 7PWei normalcase 1.4741 ms/op 304.15 us/op 4.85
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 27.159 us/op 8.3040 us/op 3.27
Buffer.compare 123687377 12.001 ms/op 3.8142 ms/op 3.15
Full benchmark results
Benchmark suite Current: 29fe651 Previous: 8959bda Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 876.13 us/op 386.77 us/op 2.27
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 166.55 us/op 52.713 us/op 3.16
BLS verify - blst-native 1.5002 ms/op 1.1065 ms/op 1.36
BLS verifyMultipleSignatures 3 - blst-native 3.1914 ms/op 2.4125 ms/op 1.32
BLS verifyMultipleSignatures 8 - blst-native 6.9637 ms/op 5.2622 ms/op 1.32
BLS verifyMultipleSignatures 32 - blst-native 25.305 ms/op 19.393 ms/op 1.30
BLS verifyMultipleSignatures 64 - blst-native 51.545 ms/op 38.213 ms/op 1.35
BLS verifyMultipleSignatures 128 - blst-native 105.46 ms/op 75.454 ms/op 1.40
BLS deserializing 10000 signatures 1.0613 s/op 797.14 ms/op 1.33
BLS deserializing 100000 signatures 10.379 s/op 8.2573 s/op 1.26
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.6982 ms/op 1.1121 ms/op 1.53
BLS verifyMultipleSignatures - same message - 8 - blst-native 2.0284 ms/op 1.2572 ms/op 1.61
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.9984 ms/op 1.9712 ms/op 1.52
BLS verifyMultipleSignatures - same message - 64 - blst-native 4.2556 ms/op 3.7683 ms/op 1.13
BLS verifyMultipleSignatures - same message - 128 - blst-native 7.2848 ms/op 4.8938 ms/op 1.49
BLS aggregatePubkeys 32 - blst-native 32.541 us/op 22.071 us/op 1.47
BLS aggregatePubkeys 128 - blst-native 118.66 us/op 86.402 us/op 1.37
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 77.528 ms/op 45.012 ms/op 1.72
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 70.843 ms/op 42.561 ms/op 1.66
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 48.523 ms/op 25.926 ms/op 1.87
getSlashingsAndExits - default max 336.76 us/op 223.06 us/op 1.51
getSlashingsAndExits - 2k 742.95 us/op 350.91 us/op 2.12
proposeBlockBody type=full, size=empty 6.5753 ms/op 3.7844 ms/op 1.74
isKnown best case - 1 super set check 624.00 ns/op 474.00 ns/op 1.32
isKnown normal case - 2 super set checks 628.00 ns/op 389.00 ns/op 1.61
isKnown worse case - 16 super set checks 612.00 ns/op 340.00 ns/op 1.80
CheckpointStateCache - add get delete 6.7290 us/op 3.7860 us/op 1.78
validate api signedAggregateAndProof - struct 3.1509 ms/op 2.3719 ms/op 1.33
validate gossip signedAggregateAndProof - struct 3.2581 ms/op 2.2532 ms/op 1.45
validate gossip attestation - vc 640000 1.5072 ms/op 1.1302 ms/op 1.33
batch validate gossip attestation - vc 640000 - chunk 32 199.10 us/op 138.19 us/op 1.44
batch validate gossip attestation - vc 640000 - chunk 64 175.47 us/op 128.71 us/op 1.36
batch validate gossip attestation - vc 640000 - chunk 128 178.71 us/op 124.56 us/op 1.43
batch validate gossip attestation - vc 640000 - chunk 256 194.16 us/op 114.03 us/op 1.70
pickEth1Vote - no votes 2.2389 ms/op 874.46 us/op 2.56
pickEth1Vote - max votes 23.060 ms/op 9.2615 ms/op 2.49
pickEth1Vote - Eth1Data hashTreeRoot value x2048 31.840 ms/op 21.090 ms/op 1.51
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 46.705 ms/op 26.025 ms/op 1.79
pickEth1Vote - Eth1Data fastSerialize value x2048 1.0461 ms/op 412.58 us/op 2.54
pickEth1Vote - Eth1Data fastSerialize tree x2048 12.054 ms/op 5.8079 ms/op 2.08
bytes32 toHexString 1.0850 us/op 458.00 ns/op 2.37
bytes32 Buffer.toString(hex) 349.00 ns/op 311.00 ns/op 1.12
bytes32 Buffer.toString(hex) from Uint8Array 840.00 ns/op 447.00 ns/op 1.88
bytes32 Buffer.toString(hex) + 0x 427.00 ns/op 309.00 ns/op 1.38
Object access 1 prop 0.29400 ns/op 0.22000 ns/op 1.34
Map access 1 prop 0.19600 ns/op 0.20700 ns/op 0.95
Object get x1000 10.124 ns/op 4.8920 ns/op 2.07
Map get x1000 1.0650 ns/op 0.75400 ns/op 1.41
Object set x1000 107.20 ns/op 25.506 ns/op 4.20
Map set x1000 74.460 ns/op 18.433 ns/op 4.04
Return object 10000 times 0.35390 ns/op 0.22100 ns/op 1.60
Throw Error 10000 times 5.3082 us/op 2.6150 us/op 2.03
fastMsgIdFn sha256 / 200 bytes 4.3610 us/op 1.9720 us/op 2.21
fastMsgIdFn h32 xxhash / 200 bytes 520.00 ns/op 322.00 ns/op 1.61
fastMsgIdFn h64 xxhash / 200 bytes 637.00 ns/op 340.00 ns/op 1.87
fastMsgIdFn sha256 / 1000 bytes 21.135 us/op 5.9550 us/op 3.55
fastMsgIdFn h32 xxhash / 1000 bytes 1.3670 us/op 446.00 ns/op 3.07
fastMsgIdFn h64 xxhash / 1000 bytes 1.2600 us/op 427.00 ns/op 2.95
fastMsgIdFn sha256 / 10000 bytes 127.73 us/op 50.483 us/op 2.53
fastMsgIdFn h32 xxhash / 10000 bytes 3.4360 us/op 1.7950 us/op 1.91
fastMsgIdFn h64 xxhash / 10000 bytes 2.1040 us/op 1.2490 us/op 1.68
send data - 1000 256B messages 29.130 ms/op 13.509 ms/op 2.16
send data - 1000 512B messages 38.427 ms/op 16.686 ms/op 2.30
send data - 1000 1024B messages 67.546 ms/op 31.195 ms/op 2.17
send data - 1000 1200B messages 76.527 ms/op 30.750 ms/op 2.49
send data - 1000 2048B messages 87.816 ms/op 38.646 ms/op 2.27
send data - 1000 4096B messages 76.141 ms/op 38.966 ms/op 1.95
send data - 1000 16384B messages 195.78 ms/op 92.689 ms/op 2.11
send data - 1000 65536B messages 739.55 ms/op 456.11 ms/op 1.62
enrSubnets - fastDeserialize 64 bits 2.3140 us/op 1.0360 us/op 2.23
enrSubnets - ssz BitVector 64 bits 660.00 ns/op 502.00 ns/op 1.31
enrSubnets - fastDeserialize 4 bits 285.00 ns/op 254.00 ns/op 1.12
enrSubnets - ssz BitVector 4 bits 717.00 ns/op 515.00 ns/op 1.39
prioritizePeers score -10:0 att 32-0.1 sync 2-0 165.76 us/op 103.95 us/op 1.59
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 193.28 us/op 114.04 us/op 1.69
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 247.88 us/op 146.76 us/op 1.69
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 450.53 us/op 260.80 us/op 1.73
prioritizePeers score 0:0 att 64-1 sync 4-1 577.49 us/op 277.13 us/op 2.08
array of 16000 items push then shift 1.9862 us/op 1.3783 us/op 1.44
LinkedList of 16000 items push then shift 13.657 ns/op 8.5800 ns/op 1.59
array of 16000 items push then pop 172.60 ns/op 113.41 ns/op 1.52
LinkedList of 16000 items push then pop 13.457 ns/op 7.7260 ns/op 1.74
array of 24000 items push then shift 3.0381 us/op 1.8896 us/op 1.61
LinkedList of 24000 items push then shift 14.883 ns/op 7.5310 ns/op 1.98
array of 24000 items push then pop 236.07 ns/op 150.20 ns/op 1.57
LinkedList of 24000 items push then pop 11.928 ns/op 6.0850 ns/op 1.96
intersect bitArray bitLen 8 7.5530 ns/op 4.9080 ns/op 1.54
intersect array and set length 8 128.36 ns/op 50.458 ns/op 2.54
intersect bitArray bitLen 128 42.583 ns/op 29.444 ns/op 1.45
intersect array and set length 128 1.5510 us/op 696.32 ns/op 2.23
bitArray.getTrueBitIndexes() bitLen 128 2.6330 us/op 1.3890 us/op 1.90
bitArray.getTrueBitIndexes() bitLen 248 4.7130 us/op 2.9850 us/op 1.58
bitArray.getTrueBitIndexes() bitLen 512 8.9570 us/op 6.3790 us/op 1.40
Buffer.concat 32 items 1.3600 us/op 1.0400 us/op 1.31
Uint8Array.set 32 items 3.0870 us/op 2.3270 us/op 1.33
Set add up to 64 items then delete first 6.7430 us/op 2.4738 us/op 2.73
OrderedSet add up to 64 items then delete first 9.4737 us/op 3.8685 us/op 2.45
Set add up to 64 items then delete last 6.9811 us/op 2.7309 us/op 2.56
OrderedSet add up to 64 items then delete last 9.8245 us/op 3.7934 us/op 2.59
Set add up to 64 items then delete middle 7.1311 us/op 2.3774 us/op 3.00
OrderedSet add up to 64 items then delete middle 10.479 us/op 5.2910 us/op 1.98
Set add up to 128 items then delete first 14.201 us/op 5.0557 us/op 2.81
OrderedSet add up to 128 items then delete first 19.236 us/op 8.5599 us/op 2.25
Set add up to 128 items then delete last 13.772 us/op 5.4318 us/op 2.54
OrderedSet add up to 128 items then delete last 17.943 us/op 8.5114 us/op 2.11
Set add up to 128 items then delete middle 13.751 us/op 5.1232 us/op 2.68
OrderedSet add up to 128 items then delete middle 25.439 us/op 13.268 us/op 1.92
Set add up to 256 items then delete first 27.115 us/op 11.025 us/op 2.46
OrderedSet add up to 256 items then delete first 38.856 us/op 16.499 us/op 2.36
Set add up to 256 items then delete last 26.778 us/op 10.382 us/op 2.58
OrderedSet add up to 256 items then delete last 36.961 us/op 15.686 us/op 2.36
Set add up to 256 items then delete middle 26.618 us/op 10.915 us/op 2.44
OrderedSet add up to 256 items then delete middle 63.579 us/op 36.435 us/op 1.74
transfer serialized Status (84 B) 2.8240 us/op 1.5920 us/op 1.77
copy serialized Status (84 B) 2.0060 us/op 1.3100 us/op 1.53
transfer serialized SignedVoluntaryExit (112 B) 2.6830 us/op 1.7400 us/op 1.54
copy serialized SignedVoluntaryExit (112 B) 1.9260 us/op 1.3480 us/op 1.43
transfer serialized ProposerSlashing (416 B) 3.0050 us/op 2.3590 us/op 1.27
copy serialized ProposerSlashing (416 B) 2.8250 us/op 2.4810 us/op 1.14
transfer serialized Attestation (485 B) 3.6780 us/op 2.7570 us/op 1.33
copy serialized Attestation (485 B) 3.4760 us/op 2.6620 us/op 1.31
transfer serialized AttesterSlashing (33232 B) 3.8540 us/op 2.8950 us/op 1.33
copy serialized AttesterSlashing (33232 B) 15.181 us/op 10.299 us/op 1.47
transfer serialized Small SignedBeaconBlock (128000 B) 7.9670 us/op 2.8030 us/op 2.84
copy serialized Small SignedBeaconBlock (128000 B) 43.703 us/op 11.933 us/op 3.66
transfer serialized Avg SignedBeaconBlock (200000 B) 8.2370 us/op 2.4200 us/op 3.40
copy serialized Avg SignedBeaconBlock (200000 B) 73.909 us/op 56.162 us/op 1.32
transfer serialized BlobsSidecar (524380 B) 9.3680 us/op 2.6150 us/op 3.58
copy serialized BlobsSidecar (524380 B) 201.80 us/op 75.719 us/op 2.67
transfer serialized Big SignedBeaconBlock (1000000 B) 9.3820 us/op 2.6830 us/op 3.50
copy serialized Big SignedBeaconBlock (1000000 B) 369.02 us/op 292.08 us/op 1.26
pass gossip attestations to forkchoice per slot 4.4741 ms/op 2.9304 ms/op 1.53
forkChoice updateHead vc 100000 bc 64 eq 0 777.84 us/op 492.15 us/op 1.58
forkChoice updateHead vc 600000 bc 64 eq 0 6.9255 ms/op 3.2767 ms/op 2.11
forkChoice updateHead vc 1000000 bc 64 eq 0 9.2159 ms/op 6.3741 ms/op 1.45
forkChoice updateHead vc 600000 bc 320 eq 0 5.3851 ms/op 2.6594 ms/op 2.02
forkChoice updateHead vc 600000 bc 1200 eq 0 5.4297 ms/op 2.8068 ms/op 1.93
forkChoice updateHead vc 600000 bc 7200 eq 0 6.4534 ms/op 3.5648 ms/op 1.81
forkChoice updateHead vc 600000 bc 64 eq 1000 12.475 ms/op 9.8837 ms/op 1.26
forkChoice updateHead vc 600000 bc 64 eq 10000 13.789 ms/op 9.6663 ms/op 1.43
forkChoice updateHead vc 600000 bc 64 eq 300000 55.427 ms/op 12.158 ms/op 4.56
computeDeltas 500000 validators 300 proto nodes 7.7419 ms/op 3.3531 ms/op 2.31
computeDeltas 500000 validators 1200 proto nodes 7.9778 ms/op 3.3802 ms/op 2.36
computeDeltas 500000 validators 7200 proto nodes 8.5763 ms/op 3.2492 ms/op 2.64
computeDeltas 750000 validators 300 proto nodes 14.037 ms/op 5.4233 ms/op 2.59
computeDeltas 750000 validators 1200 proto nodes 13.377 ms/op 5.1672 ms/op 2.59
computeDeltas 750000 validators 7200 proto nodes 14.215 ms/op 5.5880 ms/op 2.54
computeDeltas 1400000 validators 300 proto nodes 24.860 ms/op 10.850 ms/op 2.29
computeDeltas 1400000 validators 1200 proto nodes 23.427 ms/op 10.587 ms/op 2.21
computeDeltas 1400000 validators 7200 proto nodes 22.684 ms/op 9.3930 ms/op 2.42
computeDeltas 2100000 validators 300 proto nodes 32.081 ms/op 15.580 ms/op 2.06
computeDeltas 2100000 validators 1200 proto nodes 32.155 ms/op 16.707 ms/op 1.92
computeDeltas 2100000 validators 7200 proto nodes 31.899 ms/op 14.448 ms/op 2.21
altair processAttestation - 250000 vs - 7PWei normalcase 3.8334 ms/op 1.5358 ms/op 2.50
altair processAttestation - 250000 vs - 7PWei worstcase 5.0485 ms/op 2.6276 ms/op 1.92
altair processAttestation - setStatus - 1/6 committees join 250.22 us/op 75.732 us/op 3.30
altair processAttestation - setStatus - 1/3 committees join 433.13 us/op 158.53 us/op 2.73
altair processAttestation - setStatus - 1/2 committees join 615.26 us/op 214.24 us/op 2.87
altair processAttestation - setStatus - 2/3 committees join 821.85 us/op 284.28 us/op 2.89
altair processAttestation - setStatus - 4/5 committees join 981.15 us/op 446.22 us/op 2.20
altair processAttestation - setStatus - 100% committees join 1.1685 ms/op 555.52 us/op 2.10
altair processBlock - 250000 vs - 7PWei normalcase 17.051 ms/op 8.8400 ms/op 1.93
altair processBlock - 250000 vs - 7PWei normalcase hashState 49.352 ms/op 23.593 ms/op 2.09
altair processBlock - 250000 vs - 7PWei worstcase 65.937 ms/op 28.896 ms/op 2.28
altair processBlock - 250000 vs - 7PWei worstcase hashState 192.57 ms/op 73.332 ms/op 2.63
phase0 processBlock - 250000 vs - 7PWei normalcase 6.1394 ms/op 2.5752 ms/op 2.38
phase0 processBlock - 250000 vs - 7PWei worstcase 49.253 ms/op 24.642 ms/op 2.00
altair processEth1Data - 250000 vs - 7PWei normalcase 1.4741 ms/op 304.15 us/op 4.85
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 29.824 us/op 14.982 us/op 1.99
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 97.555 us/op 57.881 us/op 1.69
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 47.776 us/op 21.257 us/op 2.25
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 27.159 us/op 8.3040 us/op 3.27
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 265.91 us/op 155.26 us/op 1.71
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 2.0204 ms/op 1.0416 ms/op 1.94
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.5888 ms/op 1.4487 ms/op 1.79
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.5064 ms/op 1.0319 ms/op 2.43
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 6.3028 ms/op 3.0478 ms/op 2.07
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 3.8001 ms/op 1.5104 ms/op 2.52
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 8.3537 ms/op 5.4104 ms/op 1.54
Tree 40 250000 create 530.10 ms/op 348.45 ms/op 1.52
Tree 40 250000 get(125000) 239.83 ns/op 122.11 ns/op 1.96
Tree 40 250000 set(125000) 1.8860 us/op 841.70 ns/op 2.24
Tree 40 250000 toArray() 34.164 ms/op 25.457 ms/op 1.34
Tree 40 250000 iterate all - toArray() + loop 33.690 ms/op 26.073 ms/op 1.29
Tree 40 250000 iterate all - get(i) 94.982 ms/op 54.605 ms/op 1.74
MutableVector 250000 create 20.578 ms/op 12.246 ms/op 1.68
MutableVector 250000 get(125000) 7.4170 ns/op 5.7150 ns/op 1.30
MutableVector 250000 set(125000) 409.97 ns/op 221.35 ns/op 1.85
MutableVector 250000 toArray() 4.9393 ms/op 2.4479 ms/op 2.02
MutableVector 250000 iterate all - toArray() + loop 4.7515 ms/op 2.4492 ms/op 1.94
MutableVector 250000 iterate all - get(i) 1.8277 ms/op 1.3476 ms/op 1.36
Array 250000 create 3.9892 ms/op 2.3086 ms/op 1.73
Array 250000 clone - spread 1.4651 ms/op 1.1861 ms/op 1.24
Array 250000 get(125000) 1.3290 ns/op 1.0660 ns/op 1.25
Array 250000 set(125000) 5.5410 ns/op 2.0970 ns/op 2.64
Array 250000 iterate all - loop 187.70 us/op 155.19 us/op 1.21
effectiveBalanceIncrements clone Uint8Array 300000 66.110 us/op 53.953 us/op 1.23
effectiveBalanceIncrements clone MutableVector 300000 449.00 ns/op 906.00 ns/op 0.50
effectiveBalanceIncrements rw all Uint8Array 300000 237.43 us/op 184.71 us/op 1.29
effectiveBalanceIncrements rw all MutableVector 300000 168.39 ms/op 113.57 ms/op 1.48
phase0 afterProcessEpoch - 250000 vs - 7PWei 135.72 ms/op 78.605 ms/op 1.73
phase0 beforeProcessEpoch - 250000 vs - 7PWei 65.156 ms/op 35.742 ms/op 1.82
altair processEpoch - mainnet_e81889 617.20 ms/op 472.21 ms/op 1.31
mainnet_e81889 - altair beforeProcessEpoch 138.60 ms/op 84.059 ms/op 1.65
mainnet_e81889 - altair processJustificationAndFinalization 30.434 us/op 14.334 us/op 2.12
mainnet_e81889 - altair processInactivityUpdates 11.921 ms/op 3.8011 ms/op 3.14
mainnet_e81889 - altair processRewardsAndPenalties 107.78 ms/op 54.907 ms/op 1.96
mainnet_e81889 - altair processRegistryUpdates 8.6940 us/op 2.1410 us/op 4.06
mainnet_e81889 - altair processSlashings 1.0590 us/op 641.00 ns/op 1.65
mainnet_e81889 - altair processEth1DataReset 799.00 ns/op 720.00 ns/op 1.11
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.6135 ms/op 1.0622 ms/op 1.52
mainnet_e81889 - altair processSlashingsReset 7.6140 us/op 2.8640 us/op 2.66
mainnet_e81889 - altair processRandaoMixesReset 11.643 us/op 4.4560 us/op 2.61
mainnet_e81889 - altair processHistoricalRootsUpdate 1.7560 us/op 1.0610 us/op 1.66
mainnet_e81889 - altair processParticipationFlagUpdates 5.3190 us/op 2.0930 us/op 2.54
mainnet_e81889 - altair processSyncCommitteeUpdates 2.1630 us/op 800.00 ns/op 2.70
mainnet_e81889 - altair afterProcessEpoch 159.77 ms/op 80.468 ms/op 1.99
capella processEpoch - mainnet_e217614 2.4801 s/op 2.2908 s/op 1.08
mainnet_e217614 - capella beforeProcessEpoch 562.40 ms/op 493.64 ms/op 1.14
mainnet_e217614 - capella processJustificationAndFinalization 22.875 us/op 11.707 us/op 1.95
mainnet_e217614 - capella processInactivityUpdates 23.910 ms/op 16.809 ms/op 1.42
mainnet_e217614 - capella processRewardsAndPenalties 497.12 ms/op 408.24 ms/op 1.22
mainnet_e217614 - capella processRegistryUpdates 31.264 us/op 26.900 us/op 1.16
mainnet_e217614 - capella processSlashings 831.00 ns/op 834.00 ns/op 1.00
mainnet_e217614 - capella processEth1DataReset 933.00 ns/op 607.00 ns/op 1.54
mainnet_e217614 - capella processEffectiveBalanceUpdates 6.5310 ms/op 3.5460 ms/op 1.84
mainnet_e217614 - capella processSlashingsReset 5.7360 us/op 4.0820 us/op 1.41
mainnet_e217614 - capella processRandaoMixesReset 6.2880 us/op 6.3540 us/op 0.99
mainnet_e217614 - capella processHistoricalRootsUpdate 663.00 ns/op 740.00 ns/op 0.90
mainnet_e217614 - capella processParticipationFlagUpdates 1.7550 us/op 3.4750 us/op 0.51
mainnet_e217614 - capella afterProcessEpoch 320.88 ms/op 249.28 ms/op 1.29
phase0 processEpoch - mainnet_e58758 790.64 ms/op 481.82 ms/op 1.64
mainnet_e58758 - phase0 beforeProcessEpoch 197.73 ms/op 155.49 ms/op 1.27
mainnet_e58758 - phase0 processJustificationAndFinalization 24.139 us/op 17.263 us/op 1.40
mainnet_e58758 - phase0 processRewardsAndPenalties 47.186 ms/op 48.699 ms/op 0.97
mainnet_e58758 - phase0 processRegistryUpdates 17.828 us/op 10.676 us/op 1.67
mainnet_e58758 - phase0 processSlashings 1.5140 us/op 650.00 ns/op 2.33
mainnet_e58758 - phase0 processEth1DataReset 827.00 ns/op 918.00 ns/op 0.90
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.4301 ms/op 1.2024 ms/op 1.19
mainnet_e58758 - phase0 processSlashingsReset 7.1760 us/op 3.3100 us/op 2.17
mainnet_e58758 - phase0 processRandaoMixesReset 10.479 us/op 4.5170 us/op 2.32
mainnet_e58758 - phase0 processHistoricalRootsUpdate 912.00 ns/op 808.00 ns/op 1.13
mainnet_e58758 - phase0 processParticipationRecordUpdates 10.252 us/op 5.0270 us/op 2.04
mainnet_e58758 - phase0 afterProcessEpoch 118.54 ms/op 69.275 ms/op 1.71
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.6187 ms/op 1.1321 ms/op 1.43
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.7312 ms/op 1.1581 ms/op 1.49
altair processInactivityUpdates - 250000 normalcase 33.182 ms/op 24.925 ms/op 1.33
altair processInactivityUpdates - 250000 worstcase 31.999 ms/op 25.949 ms/op 1.23
phase0 processRegistryUpdates - 250000 normalcase 17.546 us/op 11.290 us/op 1.55
phase0 processRegistryUpdates - 250000 badcase_full_deposits 543.92 us/op 454.13 us/op 1.20
phase0 processRegistryUpdates - 250000 worstcase 0.5 172.61 ms/op 112.40 ms/op 1.54
altair processRewardsAndPenalties - 250000 normalcase 52.047 ms/op 45.606 ms/op 1.14
altair processRewardsAndPenalties - 250000 worstcase 75.742 ms/op 55.275 ms/op 1.37
phase0 getAttestationDeltas - 250000 normalcase 10.883 ms/op 6.6142 ms/op 1.65
phase0 getAttestationDeltas - 250000 worstcase 14.314 ms/op 7.1375 ms/op 2.01
phase0 processSlashings - 250000 worstcase 126.87 us/op 90.993 us/op 1.39
altair processSyncCommitteeUpdates - 250000 194.07 ms/op 114.25 ms/op 1.70
BeaconState.hashTreeRoot - No change 836.00 ns/op 400.00 ns/op 2.09
BeaconState.hashTreeRoot - 1 full validator 166.92 us/op 99.395 us/op 1.68
BeaconState.hashTreeRoot - 32 full validator 2.1611 ms/op 1.2990 ms/op 1.66
BeaconState.hashTreeRoot - 512 full validator 21.343 ms/op 11.733 ms/op 1.82
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 208.18 us/op 115.72 us/op 1.80
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 3.0263 ms/op 1.5978 ms/op 1.89
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 37.173 ms/op 29.077 ms/op 1.28
BeaconState.hashTreeRoot - 1 balances 157.50 us/op 105.56 us/op 1.49
BeaconState.hashTreeRoot - 32 balances 1.4267 ms/op 1.0607 ms/op 1.35
BeaconState.hashTreeRoot - 512 balances 14.494 ms/op 10.568 ms/op 1.37
BeaconState.hashTreeRoot - 250000 balances 267.64 ms/op 198.88 ms/op 1.35
aggregationBits - 2048 els - zipIndexesInBitList 38.054 us/op 10.883 us/op 3.50
byteArrayEquals 32 84.410 ns/op 65.235 ns/op 1.29
Buffer.compare 32 62.039 ns/op 38.035 ns/op 1.63
byteArrayEquals 1024 2.3282 us/op 1.7410 us/op 1.34
Buffer.compare 1024 84.179 ns/op 44.052 ns/op 1.91
byteArrayEquals 16384 36.811 us/op 27.811 us/op 1.32
Buffer.compare 16384 286.48 ns/op 227.19 ns/op 1.26
byteArrayEquals 123687377 302.61 ms/op 207.50 ms/op 1.46
Buffer.compare 123687377 12.001 ms/op 3.8142 ms/op 3.15
byteArrayEquals 32 - diff last byte 95.554 ns/op 61.457 ns/op 1.55
Buffer.compare 32 - diff last byte 70.180 ns/op 37.816 ns/op 1.86
byteArrayEquals 1024 - diff last byte 2.2975 us/op 1.7162 us/op 1.34
Buffer.compare 1024 - diff last byte 85.612 ns/op 45.785 ns/op 1.87
byteArrayEquals 16384 - diff last byte 38.915 us/op 27.584 us/op 1.41
Buffer.compare 16384 - diff last byte 301.43 ns/op 207.27 ns/op 1.45
byteArrayEquals 123687377 - diff last byte 275.93 ms/op 204.99 ms/op 1.35
Buffer.compare 123687377 - diff last byte 10.353 ms/op 5.9454 ms/op 1.74
byteArrayEquals 32 - random bytes 7.7220 ns/op 4.7510 ns/op 1.63
Buffer.compare 32 - random bytes 67.220 ns/op 43.743 ns/op 1.54
byteArrayEquals 1024 - random bytes 6.8750 ns/op 4.7270 ns/op 1.45
Buffer.compare 1024 - random bytes 71.523 ns/op 38.155 ns/op 1.87
byteArrayEquals 16384 - random bytes 6.8300 ns/op 4.9570 ns/op 1.38
Buffer.compare 16384 - random bytes 64.825 ns/op 40.818 ns/op 1.59
byteArrayEquals 123687377 - random bytes 15.940 ns/op 8.4600 ns/op 1.88
Buffer.compare 123687377 - random bytes 90.560 ns/op 41.250 ns/op 2.20
regular array get 100000 times 54.514 us/op 42.245 us/op 1.29
wrappedArray get 100000 times 54.752 us/op 42.612 us/op 1.28
arrayWithProxy get 100000 times 22.939 ms/op 10.620 ms/op 2.16
ssz.Root.equals 62.079 ns/op 58.258 ns/op 1.07
byteArrayEquals 59.733 ns/op 55.227 ns/op 1.08
Buffer.compare 13.360 ns/op 9.6700 ns/op 1.38
shuffle list - 16384 els 10.345 ms/op 4.7282 ms/op 2.19
shuffle list - 250000 els 152.94 ms/op 69.112 ms/op 2.21
processSlot - 1 slots 35.400 us/op 17.592 us/op 2.01
processSlot - 32 slots 4.7747 ms/op 3.6608 ms/op 1.30
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 87.488 ms/op 53.320 ms/op 1.64
getCommitteeAssignments - req 1 vs - 250000 vc 3.1282 ms/op 2.2331 ms/op 1.40
getCommitteeAssignments - req 100 vs - 250000 vc 4.5758 ms/op 3.3350 ms/op 1.37
getCommitteeAssignments - req 1000 vs - 250000 vc 6.6471 ms/op 3.6079 ms/op 1.84
findModifiedValidators - 10000 modified validators 865.17 ms/op 400.04 ms/op 2.16
findModifiedValidators - 1000 modified validators 747.57 ms/op 319.39 ms/op 2.34
findModifiedValidators - 100 modified validators 666.89 ms/op 330.01 ms/op 2.02
findModifiedValidators - 10 modified validators 769.66 ms/op 296.11 ms/op 2.60
findModifiedValidators - 1 modified validators 698.02 ms/op 302.66 ms/op 2.31
findModifiedValidators - no difference 724.89 ms/op 312.43 ms/op 2.32
compare ViewDUs 7.2257 s/op 4.2675 s/op 1.69
compare each validator Uint8Array 2.8215 s/op 1.8654 s/op 1.51
compare ViewDU to Uint8Array 2.2923 s/op 1.3267 s/op 1.73
migrate state 1000000 validators, 24 modified, 0 new 1.4410 s/op 716.96 ms/op 2.01
migrate state 1000000 validators, 1700 modified, 1000 new 2.0160 s/op 1.0339 s/op 1.95
migrate state 1000000 validators, 3400 modified, 2000 new 1.7991 s/op 1.3037 s/op 1.38
migrate state 1500000 validators, 24 modified, 0 new 960.96 ms/op 715.79 ms/op 1.34
migrate state 1500000 validators, 1700 modified, 1000 new 1.2661 s/op 1.0640 s/op 1.19
migrate state 1500000 validators, 3400 modified, 2000 new 1.7236 s/op 1.3849 s/op 1.24
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.6700 ns/op 5.5800 ns/op 1.02
state getBlockRootAtSlot - 250000 vs - 7PWei 940.43 ns/op 952.58 ns/op 0.99
computeProposers - vc 250000 11.328 ms/op 7.2513 ms/op 1.56
computeEpochShuffling - vc 250000 118.56 ms/op 71.061 ms/op 1.67
getNextSyncCommittee - vc 250000 184.79 ms/op 133.71 ms/op 1.38
computeSigningRoot for AttestationData 34.264 us/op 27.532 us/op 1.24
hash AttestationData serialized data then Buffer.toString(base64) 2.7089 us/op 1.3210 us/op 2.05
toHexString serialized data 1.2399 us/op 868.66 ns/op 1.43
Buffer.toString(base64) 265.49 ns/op 213.98 ns/op 1.24

by benchmarkbot/action

wemeetagain
wemeetagain previously approved these changes Feb 17, 2024
Copy link

codecov bot commented Feb 17, 2024

Codecov Report

Merging #6445 (e8e091a) into unstable (8959bda) will not change coverage.
The diff coverage is 0.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6445   +/-   ##
=========================================
  Coverage     61.66%   61.66%           
=========================================
  Files           554      554           
  Lines         58078    58078           
  Branches       1837     1837           
=========================================
  Hits          35811    35811           
  Misses        22228    22228           
  Partials         39       39           

@nflaig nflaig enabled auto-merge (squash) February 22, 2024 15:46
@nflaig nflaig merged commit 2f71c32 into unstable Feb 22, 2024
17 of 20 checks passed
@nflaig nflaig deleted the nflaig/no-unused-expressions branch February 22, 2024 21:59
@wemeetagain
Copy link
Member

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

Lint and fix unused expressions
2 participants