Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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
Contributor

@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 🎉

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants