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: use mitt where possible #6535

Merged
merged 1 commit into from Mar 13, 2024
Merged

chore: use mitt where possible #6535

merged 1 commit into from Mar 13, 2024

Conversation

jeluard
Copy link
Member

@jeluard jeluard commented Mar 12, 2024

Motivation

Make sure events is not used in non nodejs runtime.

Copy link

codecov bot commented Mar 12, 2024

Codecov Report

Merging #6535 (c47d6a2) into unstable (9116526) will increase coverage by 0.00%.
The diff coverage is 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6535   +/-   ##
=========================================
  Coverage     61.53%   61.53%           
=========================================
  Files           556      556           
  Lines         58647    58649    +2     
  Branches       1847     1847           
=========================================
+ Hits          36087    36089    +2     
  Misses        22520    22520           
  Partials         40       40           

Copy link
Contributor

github-actions bot commented Mar 12, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 9991d97 Previous: 9116526 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 956.60 us/op 743.76 us/op 1.29
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 157.99 us/op 64.257 us/op 2.46
BLS verify - blst-native 1.4154 ms/op 1.1115 ms/op 1.27
BLS verifyMultipleSignatures 3 - blst-native 2.9800 ms/op 2.3631 ms/op 1.26
BLS verifyMultipleSignatures 8 - blst-native 6.6246 ms/op 5.2809 ms/op 1.25
BLS verifyMultipleSignatures 32 - blst-native 23.447 ms/op 19.571 ms/op 1.20
BLS verifyMultipleSignatures 64 - blst-native 45.709 ms/op 38.455 ms/op 1.19
BLS verifyMultipleSignatures 128 - blst-native 106.46 ms/op 77.134 ms/op 1.38
BLS deserializing 10000 signatures 947.16 ms/op 862.10 ms/op 1.10
BLS deserializing 100000 signatures 9.2345 s/op 8.6908 s/op 1.06
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.4040 ms/op 1.1927 ms/op 1.18
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.5633 ms/op 1.3159 ms/op 1.19
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.4534 ms/op 2.5154 ms/op 0.98
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.6032 ms/op 3.2155 ms/op 1.12
BLS verifyMultipleSignatures - same message - 128 - blst-native 6.1563 ms/op 7.1714 ms/op 0.86
BLS aggregatePubkeys 32 - blst-native 28.125 us/op 25.872 us/op 1.09
BLS aggregatePubkeys 128 - blst-native 106.39 us/op 90.669 us/op 1.17
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 61.392 ms/op 51.446 ms/op 1.19
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 71.477 ms/op 61.285 ms/op 1.17
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 48.385 ms/op 27.660 ms/op 1.75
getSlashingsAndExits - default max 284.82 us/op 198.30 us/op 1.44
getSlashingsAndExits - 2k 478.61 us/op 412.80 us/op 1.16
proposeBlockBody type=full, size=empty 5.4619 ms/op 4.1442 ms/op 1.32
isKnown best case - 1 super set check 324.00 ns/op 367.00 ns/op 0.88
isKnown normal case - 2 super set checks 296.00 ns/op 366.00 ns/op 0.81
isKnown worse case - 16 super set checks 301.00 ns/op 446.00 ns/op 0.67
CheckpointStateCache - add get delete 5.7580 us/op 7.8520 us/op 0.73
validate api signedAggregateAndProof - struct 2.7884 ms/op 2.8435 ms/op 0.98
validate gossip signedAggregateAndProof - struct 2.7935 ms/op 2.4814 ms/op 1.13
validate gossip attestation - vc 640000 1.3664 ms/op 1.1913 ms/op 1.15
batch validate gossip attestation - vc 640000 - chunk 32 162.65 us/op 159.97 us/op 1.02
batch validate gossip attestation - vc 640000 - chunk 64 145.37 us/op 145.20 us/op 1.00
batch validate gossip attestation - vc 640000 - chunk 128 141.65 us/op 143.77 us/op 0.99
batch validate gossip attestation - vc 640000 - chunk 256 132.00 us/op 132.67 us/op 0.99
pickEth1Vote - no votes 1.3515 ms/op 1.0680 ms/op 1.27
pickEth1Vote - max votes 8.8685 ms/op 12.833 ms/op 0.69
pickEth1Vote - Eth1Data hashTreeRoot value x2048 19.508 ms/op 22.156 ms/op 0.88
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 26.617 ms/op 84.238 ms/op 0.32
pickEth1Vote - Eth1Data fastSerialize value x2048 702.83 us/op 689.18 us/op 1.02
pickEth1Vote - Eth1Data fastSerialize tree x2048 4.8117 ms/op 6.1287 ms/op 0.79
bytes32 toHexString 562.00 ns/op 919.00 ns/op 0.61
bytes32 Buffer.toString(hex) 306.00 ns/op 495.00 ns/op 0.62
bytes32 Buffer.toString(hex) from Uint8Array 470.00 ns/op 742.00 ns/op 0.63
bytes32 Buffer.toString(hex) + 0x 308.00 ns/op 427.00 ns/op 0.72
Object access 1 prop 0.17600 ns/op 0.30200 ns/op 0.58
Map access 1 prop 0.15800 ns/op 0.24000 ns/op 0.66
Object get x1000 7.4090 ns/op 5.5050 ns/op 1.35
Map get x1000 0.80000 ns/op 0.91400 ns/op 0.88
Object set x1000 55.526 ns/op 30.103 ns/op 1.84
Map set x1000 43.413 ns/op 19.493 ns/op 2.23
Return object 10000 times 0.24460 ns/op 0.25100 ns/op 0.97
Throw Error 10000 times 3.9256 us/op 3.3015 us/op 1.19
fastMsgIdFn sha256 / 200 bytes 3.3900 us/op 2.9360 us/op 1.15
fastMsgIdFn h32 xxhash / 200 bytes 277.00 ns/op 381.00 ns/op 0.73
fastMsgIdFn h64 xxhash / 200 bytes 341.00 ns/op 469.00 ns/op 0.73
fastMsgIdFn sha256 / 1000 bytes 11.362 us/op 8.6360 us/op 1.32
fastMsgIdFn h32 xxhash / 1000 bytes 401.00 ns/op 812.00 ns/op 0.49
fastMsgIdFn h64 xxhash / 1000 bytes 414.00 ns/op 779.00 ns/op 0.53
fastMsgIdFn sha256 / 10000 bytes 102.19 us/op 54.191 us/op 1.89
fastMsgIdFn h32 xxhash / 10000 bytes 1.9140 us/op 2.0290 us/op 0.94
fastMsgIdFn h64 xxhash / 10000 bytes 1.3210 us/op 1.3980 us/op 0.94
send data - 1000 256B messages 22.708 ms/op 15.511 ms/op 1.46
send data - 1000 512B messages 24.896 ms/op 21.374 ms/op 1.16
send data - 1000 1024B messages 42.623 ms/op 28.015 ms/op 1.52
send data - 1000 1200B messages 43.241 ms/op 31.169 ms/op 1.39
send data - 1000 2048B messages 48.394 ms/op 48.683 ms/op 0.99
send data - 1000 4096B messages 41.872 ms/op 39.826 ms/op 1.05
send data - 1000 16384B messages 123.49 ms/op 107.70 ms/op 1.15
send data - 1000 65536B messages 463.73 ms/op 453.18 ms/op 1.02
enrSubnets - fastDeserialize 64 bits 1.2320 us/op 1.0930 us/op 1.13
enrSubnets - ssz BitVector 64 bits 420.00 ns/op 478.00 ns/op 0.88
enrSubnets - fastDeserialize 4 bits 165.00 ns/op 227.00 ns/op 0.73
enrSubnets - ssz BitVector 4 bits 414.00 ns/op 443.00 ns/op 0.93
prioritizePeers score -10:0 att 32-0.1 sync 2-0 101.51 us/op 75.620 us/op 1.34
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 123.24 us/op 91.741 us/op 1.34
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 162.40 us/op 154.52 us/op 1.05
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 288.91 us/op 253.12 us/op 1.14
prioritizePeers score 0:0 att 64-1 sync 4-1 338.36 us/op 224.59 us/op 1.51
array of 16000 items push then shift 1.6054 us/op 1.2484 us/op 1.29
LinkedList of 16000 items push then shift 8.8510 ns/op 7.3090 ns/op 1.21
array of 16000 items push then pop 69.515 ns/op 55.977 ns/op 1.24
LinkedList of 16000 items push then pop 8.4330 ns/op 5.8310 ns/op 1.45
array of 24000 items push then shift 2.3192 us/op 1.7975 us/op 1.29
LinkedList of 24000 items push then shift 9.6950 ns/op 6.5880 ns/op 1.47
array of 24000 items push then pop 103.02 ns/op 111.08 ns/op 0.93
LinkedList of 24000 items push then pop 8.4460 ns/op 5.8030 ns/op 1.46
intersect bitArray bitLen 8 5.4670 ns/op 4.7710 ns/op 1.15
intersect array and set length 8 59.879 ns/op 53.854 ns/op 1.11
intersect bitArray bitLen 128 33.760 ns/op 29.532 ns/op 1.14
intersect array and set length 128 812.69 ns/op 706.06 ns/op 1.15
bitArray.getTrueBitIndexes() bitLen 128 1.4490 us/op 1.1940 us/op 1.21
bitArray.getTrueBitIndexes() bitLen 248 2.4240 us/op 2.1040 us/op 1.15
bitArray.getTrueBitIndexes() bitLen 512 4.6550 us/op 5.1270 us/op 0.91
Buffer.concat 32 items 1.0750 us/op 903.00 ns/op 1.19
Uint8Array.set 32 items 2.1330 us/op 2.3610 us/op 0.90
Set add up to 64 items then delete first 4.1875 us/op 1.7531 us/op 2.39
OrderedSet add up to 64 items then delete first 5.2169 us/op 2.6814 us/op 1.95
Set add up to 64 items then delete last 4.4095 us/op 1.9863 us/op 2.22
OrderedSet add up to 64 items then delete last 5.4494 us/op 2.9784 us/op 1.83
Set add up to 64 items then delete middle 4.3720 us/op 1.9912 us/op 2.20
OrderedSet add up to 64 items then delete middle 6.6671 us/op 4.1832 us/op 1.59
Set add up to 128 items then delete first 8.8505 us/op 3.9281 us/op 2.25
OrderedSet add up to 128 items then delete first 11.627 us/op 6.1776 us/op 1.88
Set add up to 128 items then delete last 8.6297 us/op 3.7840 us/op 2.28
OrderedSet add up to 128 items then delete last 11.005 us/op 5.7276 us/op 1.92
Set add up to 128 items then delete middle 8.6627 us/op 3.8235 us/op 2.27
OrderedSet add up to 128 items then delete middle 16.177 us/op 10.667 us/op 1.52
Set add up to 256 items then delete first 17.731 us/op 7.7292 us/op 2.29
OrderedSet add up to 256 items then delete first 23.939 us/op 12.172 us/op 1.97
Set add up to 256 items then delete last 17.327 us/op 7.4033 us/op 2.34
OrderedSet add up to 256 items then delete last 21.819 us/op 11.380 us/op 1.92
Set add up to 256 items then delete middle 17.420 us/op 7.3923 us/op 2.36
OrderedSet add up to 256 items then delete middle 43.057 us/op 30.908 us/op 1.39
transfer serialized Status (84 B) 1.6810 us/op 1.3870 us/op 1.21
copy serialized Status (84 B) 1.3490 us/op 1.1990 us/op 1.13
transfer serialized SignedVoluntaryExit (112 B) 1.8790 us/op 1.5240 us/op 1.23
copy serialized SignedVoluntaryExit (112 B) 1.4680 us/op 1.2690 us/op 1.16
transfer serialized ProposerSlashing (416 B) 2.6180 us/op 2.2690 us/op 1.15
copy serialized ProposerSlashing (416 B) 2.4900 us/op 2.1110 us/op 1.18
transfer serialized Attestation (485 B) 2.9070 us/op 2.1770 us/op 1.34
copy serialized Attestation (485 B) 2.5140 us/op 2.2940 us/op 1.10
transfer serialized AttesterSlashing (33232 B) 2.9180 us/op 2.7030 us/op 1.08
copy serialized AttesterSlashing (33232 B) 6.7080 us/op 6.7380 us/op 1.00
transfer serialized Small SignedBeaconBlock (128000 B) 3.3860 us/op 3.1980 us/op 1.06
copy serialized Small SignedBeaconBlock (128000 B) 14.742 us/op 15.274 us/op 0.97
transfer serialized Avg SignedBeaconBlock (200000 B) 3.7350 us/op 2.0880 us/op 1.79
copy serialized Avg SignedBeaconBlock (200000 B) 20.931 us/op 20.913 us/op 1.00
transfer serialized BlobsSidecar (524380 B) 3.1870 us/op 2.4180 us/op 1.32
copy serialized BlobsSidecar (524380 B) 84.307 us/op 76.620 us/op 1.10
transfer serialized Big SignedBeaconBlock (1000000 B) 3.2540 us/op 3.2000 us/op 1.02
copy serialized Big SignedBeaconBlock (1000000 B) 380.28 us/op 131.25 us/op 2.90
pass gossip attestations to forkchoice per slot 4.3505 ms/op 2.8164 ms/op 1.54
forkChoice updateHead vc 100000 bc 64 eq 0 722.30 us/op 472.83 us/op 1.53
forkChoice updateHead vc 600000 bc 64 eq 0 4.7168 ms/op 2.6646 ms/op 1.77
forkChoice updateHead vc 1000000 bc 64 eq 0 7.0504 ms/op 4.6702 ms/op 1.51
forkChoice updateHead vc 600000 bc 320 eq 0 4.1464 ms/op 2.9212 ms/op 1.42
forkChoice updateHead vc 600000 bc 1200 eq 0 4.3811 ms/op 2.9286 ms/op 1.50
forkChoice updateHead vc 600000 bc 7200 eq 0 5.1252 ms/op 4.2535 ms/op 1.20
forkChoice updateHead vc 600000 bc 64 eq 1000 10.897 ms/op 9.7538 ms/op 1.12
forkChoice updateHead vc 600000 bc 64 eq 10000 11.654 ms/op 9.7192 ms/op 1.20
forkChoice updateHead vc 600000 bc 64 eq 300000 15.296 ms/op 11.678 ms/op 1.31
computeDeltas 500000 validators 300 proto nodes 6.7240 ms/op 3.2767 ms/op 2.05
computeDeltas 500000 validators 1200 proto nodes 6.5260 ms/op 3.1525 ms/op 2.07
computeDeltas 500000 validators 7200 proto nodes 6.4689 ms/op 3.1903 ms/op 2.03
computeDeltas 750000 validators 300 proto nodes 10.078 ms/op 4.8856 ms/op 2.06
computeDeltas 750000 validators 1200 proto nodes 9.9044 ms/op 4.6408 ms/op 2.13
computeDeltas 750000 validators 7200 proto nodes 10.043 ms/op 4.7550 ms/op 2.11
computeDeltas 1400000 validators 300 proto nodes 20.184 ms/op 9.0452 ms/op 2.23
computeDeltas 1400000 validators 1200 proto nodes 19.710 ms/op 8.9917 ms/op 2.19
computeDeltas 1400000 validators 7200 proto nodes 19.808 ms/op 9.4568 ms/op 2.09
computeDeltas 2100000 validators 300 proto nodes 29.575 ms/op 13.824 ms/op 2.14
computeDeltas 2100000 validators 1200 proto nodes 30.522 ms/op 14.229 ms/op 2.15
computeDeltas 2100000 validators 7200 proto nodes 29.602 ms/op 14.536 ms/op 2.04
altair processAttestation - 250000 vs - 7PWei normalcase 2.3930 ms/op 2.5102 ms/op 0.95
altair processAttestation - 250000 vs - 7PWei worstcase 3.6456 ms/op 3.6566 ms/op 1.00
altair processAttestation - setStatus - 1/6 committees join 190.61 us/op 196.80 us/op 0.97
altair processAttestation - setStatus - 1/3 committees join 367.04 us/op 375.74 us/op 0.98
altair processAttestation - setStatus - 1/2 committees join 517.87 us/op 516.27 us/op 1.00
altair processAttestation - setStatus - 2/3 committees join 605.30 us/op 626.52 us/op 0.97
altair processAttestation - setStatus - 4/5 committees join 855.53 us/op 897.20 us/op 0.95
altair processAttestation - setStatus - 100% committees join 973.52 us/op 1.0825 ms/op 0.90
altair processBlock - 250000 vs - 7PWei normalcase 11.454 ms/op 7.1437 ms/op 1.60
altair processBlock - 250000 vs - 7PWei normalcase hashState 34.448 ms/op 32.650 ms/op 1.06
altair processBlock - 250000 vs - 7PWei worstcase 43.039 ms/op 40.448 ms/op 1.06
altair processBlock - 250000 vs - 7PWei worstcase hashState 93.160 ms/op 95.521 ms/op 0.98
phase0 processBlock - 250000 vs - 7PWei normalcase 3.5446 ms/op 3.4892 ms/op 1.02
phase0 processBlock - 250000 vs - 7PWei worstcase 31.518 ms/op 31.857 ms/op 0.99
altair processEth1Data - 250000 vs - 7PWei normalcase 605.06 us/op 642.33 us/op 0.94
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 10.857 us/op 15.279 us/op 0.71
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 75.730 us/op 72.245 us/op 1.05
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 23.888 us/op 17.242 us/op 1.39
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 13.616 us/op 17.376 us/op 0.78
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 218.22 us/op 151.80 us/op 1.44
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 2.1551 ms/op 1.4084 ms/op 1.53
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 3.0651 ms/op 1.6241 ms/op 1.89
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.8057 ms/op 1.4641 ms/op 1.92
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.2514 ms/op 3.6185 ms/op 1.17
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.6704 ms/op 2.6588 ms/op 1.00
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.3991 ms/op 7.1553 ms/op 0.75
Tree 40 250000 create 345.10 ms/op 319.95 ms/op 1.08
Tree 40 250000 get(125000) 203.20 ns/op 133.89 ns/op 1.52
Tree 40 250000 set(125000) 1.0216 us/op 1.0528 us/op 0.97
Tree 40 250000 toArray() 21.375 ms/op 29.062 ms/op 0.74
Tree 40 250000 iterate all - toArray() + loop 22.744 ms/op 26.287 ms/op 0.87
Tree 40 250000 iterate all - get(i) 74.992 ms/op 66.947 ms/op 1.12
MutableVector 250000 create 18.172 ms/op 18.589 ms/op 0.98
MutableVector 250000 get(125000) 6.6720 ns/op 9.7910 ns/op 0.68
MutableVector 250000 set(125000) 314.16 ns/op 701.35 ns/op 0.45
MutableVector 250000 toArray() 3.5846 ms/op 3.2741 ms/op 1.09
MutableVector 250000 iterate all - toArray() + loop 4.0207 ms/op 3.3037 ms/op 1.22
MutableVector 250000 iterate all - get(i) 1.5721 ms/op 1.8526 ms/op 0.85
Array 250000 create 3.3470 ms/op 2.9423 ms/op 1.14
Array 250000 clone - spread 1.4759 ms/op 1.3792 ms/op 1.07
Array 250000 get(125000) 1.2290 ns/op 1.6840 ns/op 0.73
Array 250000 set(125000) 4.7770 ns/op 1.9040 ns/op 2.51
Array 250000 iterate all - loop 170.78 us/op 171.05 us/op 1.00
effectiveBalanceIncrements clone Uint8Array 300000 117.48 us/op 75.637 us/op 1.55
effectiveBalanceIncrements clone MutableVector 300000 385.00 ns/op 606.00 ns/op 0.64
effectiveBalanceIncrements rw all Uint8Array 300000 218.41 us/op 221.93 us/op 0.98
effectiveBalanceIncrements rw all MutableVector 300000 121.98 ms/op 93.968 ms/op 1.30
phase0 afterProcessEpoch - 250000 vs - 7PWei 123.79 ms/op 106.13 ms/op 1.17
phase0 beforeProcessEpoch - 250000 vs - 7PWei 48.606 ms/op 72.968 ms/op 0.67
altair processEpoch - mainnet_e81889 551.84 ms/op 567.40 ms/op 0.97
mainnet_e81889 - altair beforeProcessEpoch 83.783 ms/op 98.050 ms/op 0.85
mainnet_e81889 - altair processJustificationAndFinalization 21.202 us/op 25.778 us/op 0.82
mainnet_e81889 - altair processInactivityUpdates 6.1542 ms/op 7.3356 ms/op 0.84
mainnet_e81889 - altair processRewardsAndPenalties 47.960 ms/op 67.912 ms/op 0.71
mainnet_e81889 - altair processRegistryUpdates 3.0630 us/op 3.6450 us/op 0.84
mainnet_e81889 - altair processSlashings 462.00 ns/op 904.00 ns/op 0.51
mainnet_e81889 - altair processEth1DataReset 640.00 ns/op 1.0800 us/op 0.59
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.7663 ms/op 1.3439 ms/op 1.31
mainnet_e81889 - altair processSlashingsReset 4.8420 us/op 7.5170 us/op 0.64
mainnet_e81889 - altair processRandaoMixesReset 8.5350 us/op 9.5210 us/op 0.90
mainnet_e81889 - altair processHistoricalRootsUpdate 1.5460 us/op 1.5590 us/op 0.99
mainnet_e81889 - altair processParticipationFlagUpdates 3.0520 us/op 3.1790 us/op 0.96
mainnet_e81889 - altair processSyncCommitteeUpdates 1.2630 us/op 1.2960 us/op 0.97
mainnet_e81889 - altair afterProcessEpoch 125.76 ms/op 86.751 ms/op 1.45
capella processEpoch - mainnet_e217614 2.1015 s/op 1.5849 s/op 1.33
mainnet_e217614 - capella beforeProcessEpoch 494.94 ms/op 409.21 ms/op 1.21
mainnet_e217614 - capella processJustificationAndFinalization 22.156 us/op 20.598 us/op 1.08
mainnet_e217614 - capella processInactivityUpdates 18.576 ms/op 19.756 ms/op 0.94
mainnet_e217614 - capella processRewardsAndPenalties 383.73 ms/op 486.48 ms/op 0.79
mainnet_e217614 - capella processRegistryUpdates 33.501 us/op 24.834 us/op 1.35
mainnet_e217614 - capella processSlashings 818.00 ns/op 986.00 ns/op 0.83
mainnet_e217614 - capella processEth1DataReset 665.00 ns/op 756.00 ns/op 0.88
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.6674 ms/op 10.653 ms/op 0.44
mainnet_e217614 - capella processSlashingsReset 4.8080 us/op 3.9630 us/op 1.21
mainnet_e217614 - capella processRandaoMixesReset 7.6750 us/op 4.6970 us/op 1.63
mainnet_e217614 - capella processHistoricalRootsUpdate 899.00 ns/op 999.00 ns/op 0.90
mainnet_e217614 - capella processParticipationFlagUpdates 2.6880 us/op 2.0220 us/op 1.33
mainnet_e217614 - capella afterProcessEpoch 382.94 ms/op 225.24 ms/op 1.70
phase0 processEpoch - mainnet_e58758 514.13 ms/op 487.30 ms/op 1.06
mainnet_e58758 - phase0 beforeProcessEpoch 166.80 ms/op 151.68 ms/op 1.10
mainnet_e58758 - phase0 processJustificationAndFinalization 24.614 us/op 18.501 us/op 1.33
mainnet_e58758 - phase0 processRewardsAndPenalties 62.563 ms/op 55.373 ms/op 1.13
mainnet_e58758 - phase0 processRegistryUpdates 12.765 us/op 13.095 us/op 0.97
mainnet_e58758 - phase0 processSlashings 620.00 ns/op 985.00 ns/op 0.63
mainnet_e58758 - phase0 processEth1DataReset 673.00 ns/op 783.00 ns/op 0.86
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.9422 ms/op 942.45 us/op 2.06
mainnet_e58758 - phase0 processSlashingsReset 4.2340 us/op 5.4030 us/op 0.78
mainnet_e58758 - phase0 processRandaoMixesReset 4.3590 us/op 7.6270 us/op 0.57
mainnet_e58758 - phase0 processHistoricalRootsUpdate 579.00 ns/op 920.00 ns/op 0.63
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.6710 us/op 4.9250 us/op 0.75
mainnet_e58758 - phase0 afterProcessEpoch 110.26 ms/op 72.456 ms/op 1.52
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4499 ms/op 1.1638 ms/op 1.25
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.9477 ms/op 1.1695 ms/op 1.67
altair processInactivityUpdates - 250000 normalcase 37.152 ms/op 25.034 ms/op 1.48
altair processInactivityUpdates - 250000 worstcase 37.208 ms/op 22.937 ms/op 1.62
phase0 processRegistryUpdates - 250000 normalcase 21.222 us/op 11.188 us/op 1.90
phase0 processRegistryUpdates - 250000 badcase_full_deposits 610.93 us/op 473.52 us/op 1.29
phase0 processRegistryUpdates - 250000 worstcase 0.5 188.01 ms/op 153.85 ms/op 1.22
altair processRewardsAndPenalties - 250000 normalcase 69.123 ms/op 52.394 ms/op 1.32
altair processRewardsAndPenalties - 250000 worstcase 63.697 ms/op 48.284 ms/op 1.32
phase0 getAttestationDeltas - 250000 normalcase 9.3613 ms/op 9.6660 ms/op 0.97
phase0 getAttestationDeltas - 250000 worstcase 9.4694 ms/op 7.4175 ms/op 1.28
phase0 processSlashings - 250000 worstcase 103.54 us/op 97.042 us/op 1.07
altair processSyncCommitteeUpdates - 250000 157.71 ms/op 106.62 ms/op 1.48
BeaconState.hashTreeRoot - No change 484.00 ns/op 364.00 ns/op 1.33
BeaconState.hashTreeRoot - 1 full validator 121.14 us/op 122.52 us/op 0.99
BeaconState.hashTreeRoot - 32 full validator 1.3418 ms/op 1.1522 ms/op 1.16
BeaconState.hashTreeRoot - 512 full validator 13.802 ms/op 12.292 ms/op 1.12
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 149.01 us/op 113.56 us/op 1.31
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.1896 ms/op 1.7875 ms/op 1.22
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 25.611 ms/op 36.414 ms/op 0.70
BeaconState.hashTreeRoot - 1 balances 112.04 us/op 131.24 us/op 0.85
BeaconState.hashTreeRoot - 32 balances 1.3008 ms/op 1.0913 ms/op 1.19
BeaconState.hashTreeRoot - 512 balances 15.086 ms/op 12.163 ms/op 1.24
BeaconState.hashTreeRoot - 250000 balances 234.64 ms/op 184.14 ms/op 1.27
aggregationBits - 2048 els - zipIndexesInBitList 28.742 us/op 75.592 us/op 0.38
byteArrayEquals 32 77.015 ns/op 71.939 ns/op 1.07
Buffer.compare 32 57.034 ns/op 40.930 ns/op 1.39
byteArrayEquals 1024 2.0949 us/op 1.9085 us/op 1.10
Buffer.compare 1024 71.853 ns/op 53.638 ns/op 1.34
byteArrayEquals 16384 33.343 us/op 31.288 us/op 1.07
Buffer.compare 16384 276.47 ns/op 241.92 ns/op 1.14
byteArrayEquals 123687377 252.19 ms/op 219.10 ms/op 1.15
Buffer.compare 123687377 6.8003 ms/op 7.4762 ms/op 0.91
byteArrayEquals 32 - diff last byte 73.405 ns/op 69.917 ns/op 1.05
Buffer.compare 32 - diff last byte 58.196 ns/op 43.824 ns/op 1.33
byteArrayEquals 1024 - diff last byte 2.0743 us/op 1.8196 us/op 1.14
Buffer.compare 1024 - diff last byte 73.004 ns/op 49.283 ns/op 1.48
byteArrayEquals 16384 - diff last byte 33.066 us/op 30.577 us/op 1.08
Buffer.compare 16384 - diff last byte 266.11 ns/op 235.27 ns/op 1.13
byteArrayEquals 123687377 - diff last byte 249.89 ms/op 233.42 ms/op 1.07
Buffer.compare 123687377 - diff last byte 8.2802 ms/op 7.3514 ms/op 1.13
byteArrayEquals 32 - random bytes 5.7110 ns/op 5.0930 ns/op 1.12
Buffer.compare 32 - random bytes 64.403 ns/op 41.871 ns/op 1.54
byteArrayEquals 1024 - random bytes 5.6210 ns/op 4.7850 ns/op 1.17
Buffer.compare 1024 - random bytes 63.323 ns/op 41.205 ns/op 1.54
byteArrayEquals 16384 - random bytes 6.3550 ns/op 4.7520 ns/op 1.34
Buffer.compare 16384 - random bytes 64.135 ns/op 40.530 ns/op 1.58
byteArrayEquals 123687377 - random bytes 9.0800 ns/op 8.4800 ns/op 1.07
Buffer.compare 123687377 - random bytes 73.490 ns/op 43.120 ns/op 1.70
regular array get 100000 times 46.973 us/op 43.668 us/op 1.08
wrappedArray get 100000 times 46.302 us/op 43.414 us/op 1.07
arrayWithProxy get 100000 times 16.124 ms/op 11.789 ms/op 1.37
ssz.Root.equals 55.496 ns/op 57.373 ns/op 0.97
byteArrayEquals 56.988 ns/op 56.512 ns/op 1.01
Buffer.compare 11.860 ns/op 11.020 ns/op 1.08
shuffle list - 16384 els 8.8846 ms/op 6.1378 ms/op 1.45
shuffle list - 250000 els 131.75 ms/op 92.240 ms/op 1.43
processSlot - 1 slots 17.467 us/op 20.847 us/op 0.84
processSlot - 32 slots 3.3568 ms/op 4.0536 ms/op 0.83
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 60.892 ms/op 55.248 ms/op 1.10
getCommitteeAssignments - req 1 vs - 250000 vc 2.7464 ms/op 2.4137 ms/op 1.14
getCommitteeAssignments - req 100 vs - 250000 vc 3.9613 ms/op 3.6166 ms/op 1.10
getCommitteeAssignments - req 1000 vs - 250000 vc 4.4237 ms/op 3.9872 ms/op 1.11
findModifiedValidators - 10000 modified validators 527.26 ms/op 526.29 ms/op 1.00
findModifiedValidators - 1000 modified validators 443.37 ms/op 478.51 ms/op 0.93
findModifiedValidators - 100 modified validators 451.38 ms/op 423.65 ms/op 1.07
findModifiedValidators - 10 modified validators 429.39 ms/op 438.34 ms/op 0.98
findModifiedValidators - 1 modified validators 422.85 ms/op 428.55 ms/op 0.99
findModifiedValidators - no difference 413.96 ms/op 367.35 ms/op 1.13
compare ViewDUs 4.9535 s/op 4.5653 s/op 1.09
compare each validator Uint8Array 1.6122 s/op 1.8333 s/op 0.88
compare ViewDU to Uint8Array 1.3087 s/op 1.2747 s/op 1.03
migrate state 1000000 validators, 24 modified, 0 new 841.14 ms/op 778.16 ms/op 1.08
migrate state 1000000 validators, 1700 modified, 1000 new 1.2110 s/op 1.2147 s/op 1.00
migrate state 1000000 validators, 3400 modified, 2000 new 1.4088 s/op 1.3298 s/op 1.06
migrate state 1500000 validators, 24 modified, 0 new 901.66 ms/op 739.44 ms/op 1.22
migrate state 1500000 validators, 1700 modified, 1000 new 1.2809 s/op 1.0798 s/op 1.19
migrate state 1500000 validators, 3400 modified, 2000 new 1.7067 s/op 1.3496 s/op 1.26
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.5800 ns/op 5.3300 ns/op 1.05
state getBlockRootAtSlot - 250000 vs - 7PWei 773.05 ns/op 589.59 ns/op 1.31
computeProposers - vc 250000 11.994 ms/op 6.9824 ms/op 1.72
computeEpochShuffling - vc 250000 138.25 ms/op 88.490 ms/op 1.56
getNextSyncCommittee - vc 250000 186.44 ms/op 139.36 ms/op 1.34
computeSigningRoot for AttestationData 31.007 us/op 33.768 us/op 0.92
hash AttestationData serialized data then Buffer.toString(base64) 2.5212 us/op 1.5932 us/op 1.58
toHexString serialized data 1.7640 us/op 1.0409 us/op 1.69
Buffer.toString(base64) 279.23 ns/op 168.72 ns/op 1.65

by benchmarkbot/action

@jeluard jeluard marked this pull request as ready for review March 12, 2024 20:03
@jeluard jeluard requested a review from a team as a code owner March 12, 2024 20:03
@jeluard jeluard merged commit 1d3bf04 into unstable Mar 13, 2024
26 checks passed
@jeluard jeluard deleted the jeluard/mitt branch March 13, 2024 07:14
@wemeetagain
Copy link
Member

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

None yet

3 participants