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: upgrade bls #6413

Merged
merged 1 commit into from Feb 10, 2024
Merged

chore: upgrade bls #6413

merged 1 commit into from Feb 10, 2024

Conversation

jeluard
Copy link
Member

@jeluard jeluard commented Feb 9, 2024

Motivation

Use latest version of bls, improving browser support.

@jeluard jeluard requested a review from a team as a code owner February 9, 2024 09:54
Copy link

codecov bot commented Feb 9, 2024

Codecov Report

Merging #6413 (f855862) into unstable (c4bf385) will increase coverage by 1.58%.
Report is 16 commits behind head on unstable.
The diff coverage is n/a.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #6413      +/-   ##
============================================
+ Coverage     60.14%   61.72%   +1.58%     
============================================
  Files           407      553     +146     
  Lines         46512    57858   +11346     
  Branches       1551     1829     +278     
============================================
+ Hits          27975    35714    +7739     
- Misses        18505    22107    +3602     
- Partials         32       37       +5     

Copy link
Contributor

github-actions bot commented Feb 9, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 0d2292c Previous: b1848ec Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 708.74 us/op 541.95 us/op 1.31
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 109.66 us/op 85.032 us/op 1.29
BLS verify - blst-native 1.7155 ms/op 1.3226 ms/op 1.30
BLS verifyMultipleSignatures 3 - blst-native 3.5208 ms/op 2.7794 ms/op 1.27
BLS verifyMultipleSignatures 8 - blst-native 7.6287 ms/op 6.1048 ms/op 1.25
BLS verifyMultipleSignatures 32 - blst-native 28.969 ms/op 22.327 ms/op 1.30
BLS verifyMultipleSignatures 64 - blst-native 56.615 ms/op 43.933 ms/op 1.29
BLS verifyMultipleSignatures 128 - blst-native 101.58 ms/op 87.039 ms/op 1.17
BLS deserializing 10000 signatures 1.0695 s/op 943.42 ms/op 1.13
BLS deserializing 100000 signatures 10.330 s/op 9.4191 s/op 1.10
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.4819 ms/op 1.3614 ms/op 1.09
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.6416 ms/op 1.6675 ms/op 0.98
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.5010 ms/op 2.9292 ms/op 0.85
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.6726 ms/op 4.7534 ms/op 0.77
BLS verifyMultipleSignatures - same message - 128 - blst-native 6.7034 ms/op 5.7169 ms/op 1.17
BLS aggregatePubkeys 32 - blst-native 30.224 us/op 26.249 us/op 1.15
BLS aggregatePubkeys 128 - blst-native 127.01 us/op 102.72 us/op 1.24
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 58.465 ms/op 52.745 ms/op 1.11
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 51.165 ms/op 53.536 ms/op 0.96
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 44.687 ms/op 34.065 ms/op 1.31
getSlashingsAndExits - default max 166.17 us/op 180.79 us/op 0.92
getSlashingsAndExits - 2k 375.69 us/op 490.28 us/op 0.77
proposeBlockBody type=full, size=empty 5.5295 ms/op 5.7875 ms/op 0.96
isKnown best case - 1 super set check 310.00 ns/op 417.00 ns/op 0.74
isKnown normal case - 2 super set checks 331.00 ns/op 430.00 ns/op 0.77
isKnown worse case - 16 super set checks 306.00 ns/op 513.00 ns/op 0.60
CheckpointStateCache - add get delete 5.4510 us/op 5.9710 us/op 0.91
validate api signedAggregateAndProof - struct 2.8410 ms/op 2.8659 ms/op 0.99
validate gossip signedAggregateAndProof - struct 2.8787 ms/op 2.8661 ms/op 1.00
validate gossip attestation - vc 640000 1.4790 ms/op 1.4958 ms/op 0.99
batch validate gossip attestation - vc 640000 - chunk 32 192.84 us/op 186.52 us/op 1.03
batch validate gossip attestation - vc 640000 - chunk 64 186.94 us/op 155.01 us/op 1.21
batch validate gossip attestation - vc 640000 - chunk 128 171.39 us/op 148.52 us/op 1.15
batch validate gossip attestation - vc 640000 - chunk 256 152.29 us/op 142.48 us/op 1.07
pickEth1Vote - no votes 1.4634 ms/op 1.4415 ms/op 1.02
pickEth1Vote - max votes 12.361 ms/op 10.580 ms/op 1.17
pickEth1Vote - Eth1Data hashTreeRoot value x2048 24.904 ms/op 22.275 ms/op 1.12
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 31.954 ms/op 32.121 ms/op 0.99
pickEth1Vote - Eth1Data fastSerialize value x2048 940.75 us/op 752.91 us/op 1.25
pickEth1Vote - Eth1Data fastSerialize tree x2048 9.1915 ms/op 5.6169 ms/op 1.64
bytes32 toHexString 810.00 ns/op 653.00 ns/op 1.24
bytes32 Buffer.toString(hex) 355.00 ns/op 308.00 ns/op 1.15
bytes32 Buffer.toString(hex) from Uint8Array 570.00 ns/op 545.00 ns/op 1.05
bytes32 Buffer.toString(hex) + 0x 372.00 ns/op 321.00 ns/op 1.16
Object access 1 prop 0.23400 ns/op 0.20500 ns/op 1.14
Map access 1 prop 0.16600 ns/op 0.16600 ns/op 1.00
Object get x1000 8.2410 ns/op 7.6630 ns/op 1.08
Map get x1000 0.92700 ns/op 0.90200 ns/op 1.03
Object set x1000 68.287 ns/op 65.228 ns/op 1.05
Map set x1000 53.193 ns/op 45.145 ns/op 1.18
Return object 10000 times 0.27850 ns/op 0.26250 ns/op 1.06
Throw Error 10000 times 4.5247 us/op 4.3443 us/op 1.04
fastMsgIdFn sha256 / 200 bytes 3.9710 us/op 3.6500 us/op 1.09
fastMsgIdFn h32 xxhash / 200 bytes 362.00 ns/op 331.00 ns/op 1.09
fastMsgIdFn h64 xxhash / 200 bytes 437.00 ns/op 428.00 ns/op 1.02
fastMsgIdFn sha256 / 1000 bytes 13.423 us/op 11.938 us/op 1.12
fastMsgIdFn h32 xxhash / 1000 bytes 523.00 ns/op 508.00 ns/op 1.03
fastMsgIdFn h64 xxhash / 1000 bytes 512.00 ns/op 500.00 ns/op 1.02
fastMsgIdFn sha256 / 10000 bytes 115.37 us/op 106.94 us/op 1.08
fastMsgIdFn h32 xxhash / 10000 bytes 2.2280 us/op 2.1590 us/op 1.03
fastMsgIdFn h64 xxhash / 10000 bytes 1.6130 us/op 1.4490 us/op 1.11
send data - 1000 256B messages 23.041 ms/op 18.921 ms/op 1.22
send data - 1000 512B messages 26.684 ms/op 31.889 ms/op 0.84
send data - 1000 1024B messages 42.462 ms/op 46.783 ms/op 0.91
send data - 1000 1200B messages 39.595 ms/op 43.968 ms/op 0.90
send data - 1000 2048B messages 54.113 ms/op 53.732 ms/op 1.01
send data - 1000 4096B messages 43.013 ms/op 47.287 ms/op 0.91
send data - 1000 16384B messages 127.74 ms/op 125.59 ms/op 1.02
send data - 1000 65536B messages 496.80 ms/op 504.95 ms/op 0.98
enrSubnets - fastDeserialize 64 bits 1.3700 us/op 1.5630 us/op 0.88
enrSubnets - ssz BitVector 64 bits 433.00 ns/op 559.00 ns/op 0.77
enrSubnets - fastDeserialize 4 bits 172.00 ns/op 240.00 ns/op 0.72
enrSubnets - ssz BitVector 4 bits 430.00 ns/op 609.00 ns/op 0.71
prioritizePeers score -10:0 att 32-0.1 sync 2-0 106.87 us/op 135.99 us/op 0.79
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 132.24 us/op 185.04 us/op 0.71
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 167.74 us/op 229.28 us/op 0.73
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 286.10 us/op 516.27 us/op 0.55
prioritizePeers score 0:0 att 64-1 sync 4-1 341.45 us/op 458.44 us/op 0.74
array of 16000 items push then shift 1.6827 us/op 2.0583 us/op 0.82
LinkedList of 16000 items push then shift 9.2130 ns/op 14.273 ns/op 0.65
array of 16000 items push then pop 76.085 ns/op 147.29 ns/op 0.52
LinkedList of 16000 items push then pop 8.9610 ns/op 12.101 ns/op 0.74
array of 24000 items push then shift 2.4561 us/op 3.8012 us/op 0.65
LinkedList of 24000 items push then shift 9.0180 ns/op 13.065 ns/op 0.69
array of 24000 items push then pop 94.319 ns/op 222.01 ns/op 0.42
LinkedList of 24000 items push then pop 9.7580 ns/op 10.530 ns/op 0.93
intersect bitArray bitLen 8 6.3850 ns/op 8.7720 ns/op 0.73
intersect array and set length 8 63.468 ns/op 121.91 ns/op 0.52
intersect bitArray bitLen 128 36.702 ns/op 48.542 ns/op 0.76
intersect array and set length 128 879.05 ns/op 1.2751 us/op 0.69
bitArray.getTrueBitIndexes() bitLen 128 1.4170 us/op 2.0140 us/op 0.70
bitArray.getTrueBitIndexes() bitLen 248 2.5210 us/op 3.4510 us/op 0.73
bitArray.getTrueBitIndexes() bitLen 512 4.8640 us/op 7.3220 us/op 0.66
Buffer.concat 32 items 1.0840 us/op 1.1710 us/op 0.93
Uint8Array.set 32 items 2.5040 us/op 2.9500 us/op 0.85
Set add up to 64 items then delete first 4.4194 us/op 5.2608 us/op 0.84
OrderedSet add up to 64 items then delete first 5.5582 us/op 6.8725 us/op 0.81
Set add up to 64 items then delete last 4.7362 us/op 5.4879 us/op 0.86
OrderedSet add up to 64 items then delete last 5.8740 us/op 7.0699 us/op 0.83
Set add up to 64 items then delete middle 4.7069 us/op 5.4073 us/op 0.87
OrderedSet add up to 64 items then delete middle 7.1963 us/op 8.4216 us/op 0.85
Set add up to 128 items then delete first 9.5358 us/op 11.236 us/op 0.85
OrderedSet add up to 128 items then delete first 12.664 us/op 14.923 us/op 0.85
Set add up to 128 items then delete last 9.4535 us/op 10.790 us/op 0.88
OrderedSet add up to 128 items then delete last 11.849 us/op 13.592 us/op 0.87
Set add up to 128 items then delete middle 9.3974 us/op 10.932 us/op 0.86
OrderedSet add up to 128 items then delete middle 17.448 us/op 22.205 us/op 0.79
Set add up to 256 items then delete first 19.328 us/op 22.535 us/op 0.86
OrderedSet add up to 256 items then delete first 25.986 us/op 30.517 us/op 0.85
Set add up to 256 items then delete last 18.829 us/op 21.471 us/op 0.88
OrderedSet add up to 256 items then delete last 23.640 us/op 29.009 us/op 0.81
Set add up to 256 items then delete middle 18.707 us/op 21.400 us/op 0.87
OrderedSet add up to 256 items then delete middle 46.219 us/op 52.384 us/op 0.88
transfer serialized Status (84 B) 1.7010 us/op 1.9720 us/op 0.86
copy serialized Status (84 B) 1.3500 us/op 1.5220 us/op 0.89
transfer serialized SignedVoluntaryExit (112 B) 1.9500 us/op 2.1260 us/op 0.92
copy serialized SignedVoluntaryExit (112 B) 1.5510 us/op 1.6230 us/op 0.96
transfer serialized ProposerSlashing (416 B) 3.3740 us/op 2.4740 us/op 1.36
copy serialized ProposerSlashing (416 B) 2.9130 us/op 2.0490 us/op 1.42
transfer serialized Attestation (485 B) 3.0080 us/op 2.4280 us/op 1.24
copy serialized Attestation (485 B) 3.2440 us/op 2.3750 us/op 1.37
transfer serialized AttesterSlashing (33232 B) 3.3450 us/op 3.3640 us/op 0.99
copy serialized AttesterSlashing (33232 B) 6.7330 us/op 9.5800 us/op 0.70
transfer serialized Small SignedBeaconBlock (128000 B) 3.8620 us/op 3.6360 us/op 1.06
copy serialized Small SignedBeaconBlock (128000 B) 18.810 us/op 22.375 us/op 0.84
transfer serialized Avg SignedBeaconBlock (200000 B) 4.4580 us/op 4.3440 us/op 1.03
copy serialized Avg SignedBeaconBlock (200000 B) 28.029 us/op 33.121 us/op 0.85
transfer serialized BlobsSidecar (524380 B) 3.6580 us/op 4.3320 us/op 0.84
copy serialized BlobsSidecar (524380 B) 138.52 us/op 100.64 us/op 1.38
transfer serialized Big SignedBeaconBlock (1000000 B) 3.2720 us/op 4.9430 us/op 0.66
copy serialized Big SignedBeaconBlock (1000000 B) 218.29 us/op 191.45 us/op 1.14
pass gossip attestations to forkchoice per slot 4.8789 ms/op 4.5465 ms/op 1.07
forkChoice updateHead vc 100000 bc 64 eq 0 778.05 us/op 764.00 us/op 1.02
forkChoice updateHead vc 600000 bc 64 eq 0 4.9442 ms/op 4.4443 ms/op 1.11
forkChoice updateHead vc 1000000 bc 64 eq 0 7.5001 ms/op 7.3053 ms/op 1.03
forkChoice updateHead vc 600000 bc 320 eq 0 5.1810 ms/op 4.4215 ms/op 1.17
forkChoice updateHead vc 600000 bc 1200 eq 0 4.7685 ms/op 4.4237 ms/op 1.08
forkChoice updateHead vc 600000 bc 7200 eq 0 5.8322 ms/op 5.5383 ms/op 1.05
forkChoice updateHead vc 600000 bc 64 eq 1000 12.240 ms/op 11.559 ms/op 1.06
forkChoice updateHead vc 600000 bc 64 eq 10000 13.609 ms/op 12.466 ms/op 1.09
forkChoice updateHead vc 600000 bc 64 eq 300000 17.604 ms/op 19.468 ms/op 0.90
computeDeltas 500000 validators 300 proto nodes 8.2303 ms/op 6.8878 ms/op 1.19
computeDeltas 500000 validators 1200 proto nodes 7.9263 ms/op 6.7077 ms/op 1.18
computeDeltas 500000 validators 7200 proto nodes 7.1734 ms/op 6.8454 ms/op 1.05
computeDeltas 750000 validators 300 proto nodes 10.653 ms/op 10.409 ms/op 1.02
computeDeltas 750000 validators 1200 proto nodes 10.664 ms/op 10.437 ms/op 1.02
computeDeltas 750000 validators 7200 proto nodes 10.187 ms/op 10.095 ms/op 1.01
computeDeltas 1400000 validators 300 proto nodes 19.482 ms/op 19.699 ms/op 0.99
computeDeltas 1400000 validators 1200 proto nodes 18.725 ms/op 19.832 ms/op 0.94
computeDeltas 1400000 validators 7200 proto nodes 19.811 ms/op 19.502 ms/op 1.02
computeDeltas 2100000 validators 300 proto nodes 30.183 ms/op 29.491 ms/op 1.02
computeDeltas 2100000 validators 1200 proto nodes 31.988 ms/op 29.492 ms/op 1.08
computeDeltas 2100000 validators 7200 proto nodes 32.156 ms/op 30.215 ms/op 1.06
altair processAttestation - 250000 vs - 7PWei normalcase 3.6399 ms/op 2.3168 ms/op 1.57
altair processAttestation - 250000 vs - 7PWei worstcase 4.8137 ms/op 3.3351 ms/op 1.44
altair processAttestation - setStatus - 1/6 committees join 177.54 us/op 152.16 us/op 1.17
altair processAttestation - setStatus - 1/3 committees join 337.82 us/op 293.54 us/op 1.15
altair processAttestation - setStatus - 1/2 committees join 450.62 us/op 395.07 us/op 1.14
altair processAttestation - setStatus - 2/3 committees join 596.32 us/op 508.69 us/op 1.17
altair processAttestation - setStatus - 4/5 committees join 789.76 us/op 721.10 us/op 1.10
altair processAttestation - setStatus - 100% committees join 1.0226 ms/op 829.50 us/op 1.23
altair processBlock - 250000 vs - 7PWei normalcase 10.916 ms/op 10.606 ms/op 1.03
altair processBlock - 250000 vs - 7PWei normalcase hashState 37.176 ms/op 36.353 ms/op 1.02
altair processBlock - 250000 vs - 7PWei worstcase 44.239 ms/op 43.462 ms/op 1.02
altair processBlock - 250000 vs - 7PWei worstcase hashState 104.79 ms/op 95.936 ms/op 1.09
phase0 processBlock - 250000 vs - 7PWei normalcase 4.1378 ms/op 2.6284 ms/op 1.57
phase0 processBlock - 250000 vs - 7PWei worstcase 35.113 ms/op 30.878 ms/op 1.14
altair processEth1Data - 250000 vs - 7PWei normalcase 764.00 us/op 667.10 us/op 1.15
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 16.324 us/op 13.164 us/op 1.24
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 43.889 us/op 79.606 us/op 0.55
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 26.303 us/op 43.141 us/op 0.61
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 15.688 us/op 23.699 us/op 0.66
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 223.39 us/op 262.33 us/op 0.85
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.9146 ms/op 1.8348 ms/op 1.04
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.1328 ms/op 2.4664 ms/op 0.86
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.1583 ms/op 2.4369 ms/op 0.89
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.9753 ms/op 4.4120 ms/op 1.13
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.8326 ms/op 3.5815 ms/op 0.79
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 6.0032 ms/op 8.0062 ms/op 0.75
Tree 40 250000 create 416.66 ms/op 507.73 ms/op 0.82
Tree 40 250000 get(125000) 251.10 ns/op 250.57 ns/op 1.00
Tree 40 250000 set(125000) 1.2141 us/op 1.4079 us/op 0.86
Tree 40 250000 toArray() 24.922 ms/op 25.804 ms/op 0.97
Tree 40 250000 iterate all - toArray() + loop 24.414 ms/op 23.181 ms/op 1.05
Tree 40 250000 iterate all - get(i) 84.295 ms/op 81.800 ms/op 1.03
MutableVector 250000 create 16.659 ms/op 16.099 ms/op 1.03
MutableVector 250000 get(125000) 8.4770 ns/op 6.7800 ns/op 1.25
MutableVector 250000 set(125000) 349.08 ns/op 297.85 ns/op 1.17
MutableVector 250000 toArray() 4.4013 ms/op 3.8996 ms/op 1.13
MutableVector 250000 iterate all - toArray() + loop 4.6404 ms/op 3.9172 ms/op 1.18
MutableVector 250000 iterate all - get(i) 1.7662 ms/op 1.6922 ms/op 1.04
Array 250000 create 3.8334 ms/op 3.5759 ms/op 1.07
Array 250000 clone - spread 1.6522 ms/op 1.4814 ms/op 1.12
Array 250000 get(125000) 1.3400 ns/op 1.1970 ns/op 1.12
Array 250000 set(125000) 5.1620 ns/op 4.4460 ns/op 1.16
Array 250000 iterate all - loop 196.96 us/op 172.51 us/op 1.14
effectiveBalanceIncrements clone Uint8Array 300000 44.888 us/op 46.497 us/op 0.97
effectiveBalanceIncrements clone MutableVector 300000 540.00 ns/op 422.00 ns/op 1.28
effectiveBalanceIncrements rw all Uint8Array 300000 252.49 us/op 211.97 us/op 1.19
effectiveBalanceIncrements rw all MutableVector 300000 114.06 ms/op 100.93 ms/op 1.13
phase0 afterProcessEpoch - 250000 vs - 7PWei 134.63 ms/op 117.34 ms/op 1.15
phase0 beforeProcessEpoch - 250000 vs - 7PWei 42.586 ms/op 55.708 ms/op 0.76
altair processEpoch - mainnet_e81889 572.52 ms/op 704.99 ms/op 0.81
mainnet_e81889 - altair beforeProcessEpoch 91.608 ms/op 119.62 ms/op 0.77
mainnet_e81889 - altair processJustificationAndFinalization 16.719 us/op 28.345 us/op 0.59
mainnet_e81889 - altair processInactivityUpdates 6.9046 ms/op 12.880 ms/op 0.54
mainnet_e81889 - altair processRewardsAndPenalties 78.837 ms/op 70.615 ms/op 1.12
mainnet_e81889 - altair processRegistryUpdates 2.8360 us/op 3.3340 us/op 0.85
mainnet_e81889 - altair processSlashings 554.00 ns/op 460.00 ns/op 1.20
mainnet_e81889 - altair processEth1DataReset 537.00 ns/op 613.00 ns/op 0.88
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.9474 ms/op 1.4888 ms/op 1.31
mainnet_e81889 - altair processSlashingsReset 4.6780 us/op 5.3490 us/op 0.87
mainnet_e81889 - altair processRandaoMixesReset 5.6030 us/op 12.186 us/op 0.46
mainnet_e81889 - altair processHistoricalRootsUpdate 777.00 ns/op 1.2280 us/op 0.63
mainnet_e81889 - altair processParticipationFlagUpdates 1.7560 us/op 4.8510 us/op 0.36
mainnet_e81889 - altair processSyncCommitteeUpdates 649.00 ns/op 1.5630 us/op 0.42
mainnet_e81889 - altair afterProcessEpoch 152.51 ms/op 126.45 ms/op 1.21
capella processEpoch - mainnet_e217614 2.5525 s/op 2.2858 s/op 1.12
mainnet_e217614 - capella beforeProcessEpoch 533.28 ms/op 503.25 ms/op 1.06
mainnet_e217614 - capella processJustificationAndFinalization 23.704 us/op 32.151 us/op 0.74
mainnet_e217614 - capella processInactivityUpdates 25.819 ms/op 24.408 ms/op 1.06
mainnet_e217614 - capella processRewardsAndPenalties 485.00 ms/op 454.49 ms/op 1.07
mainnet_e217614 - capella processRegistryUpdates 48.794 us/op 36.671 us/op 1.33
mainnet_e217614 - capella processSlashings 1.8300 us/op 1.0610 us/op 1.72
mainnet_e217614 - capella processEth1DataReset 1.4950 us/op 1.0200 us/op 1.47
mainnet_e217614 - capella processEffectiveBalanceUpdates 6.1968 ms/op 6.2844 ms/op 0.99
mainnet_e217614 - capella processSlashingsReset 5.3560 us/op 5.5030 us/op 0.97
mainnet_e217614 - capella processRandaoMixesReset 7.5560 us/op 6.0300 us/op 1.25
mainnet_e217614 - capella processHistoricalRootsUpdate 1.1700 us/op 1.1030 us/op 1.06
mainnet_e217614 - capella processParticipationFlagUpdates 3.8440 us/op 3.2110 us/op 1.20
mainnet_e217614 - capella afterProcessEpoch 394.78 ms/op 358.95 ms/op 1.10
phase0 processEpoch - mainnet_e58758 658.96 ms/op 474.88 ms/op 1.39
mainnet_e58758 - phase0 beforeProcessEpoch 191.48 ms/op 144.17 ms/op 1.33
mainnet_e58758 - phase0 processJustificationAndFinalization 26.323 us/op 19.775 us/op 1.33
mainnet_e58758 - phase0 processRewardsAndPenalties 80.487 ms/op 56.209 ms/op 1.43
mainnet_e58758 - phase0 processRegistryUpdates 22.059 us/op 16.292 us/op 1.35
mainnet_e58758 - phase0 processSlashings 1.7300 us/op 802.00 ns/op 2.16
mainnet_e58758 - phase0 processEth1DataReset 1.2270 us/op 548.00 ns/op 2.24
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.5658 ms/op 1.2565 ms/op 2.04
mainnet_e58758 - phase0 processSlashingsReset 8.0580 us/op 3.0590 us/op 2.63
mainnet_e58758 - phase0 processRandaoMixesReset 5.6830 us/op 5.8250 us/op 0.98
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.4050 us/op 727.00 ns/op 1.93
mainnet_e58758 - phase0 processParticipationRecordUpdates 8.0660 us/op 4.2930 us/op 1.88
mainnet_e58758 - phase0 afterProcessEpoch 130.18 ms/op 98.394 ms/op 1.32
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.2066 ms/op 1.4174 ms/op 1.56
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.8188 ms/op 1.6438 ms/op 1.11
altair processInactivityUpdates - 250000 normalcase 40.024 ms/op 27.073 ms/op 1.48
altair processInactivityUpdates - 250000 worstcase 39.779 ms/op 28.683 ms/op 1.39
phase0 processRegistryUpdates - 250000 normalcase 17.318 us/op 15.149 us/op 1.14
phase0 processRegistryUpdates - 250000 badcase_full_deposits 604.49 us/op 498.36 us/op 1.21
phase0 processRegistryUpdates - 250000 worstcase 0.5 201.37 ms/op 158.74 ms/op 1.27
altair processRewardsAndPenalties - 250000 normalcase 80.785 ms/op 63.141 ms/op 1.28
altair processRewardsAndPenalties - 250000 worstcase 58.439 ms/op 57.665 ms/op 1.01
phase0 getAttestationDeltas - 250000 normalcase 14.866 ms/op 9.6665 ms/op 1.54
phase0 getAttestationDeltas - 250000 worstcase 15.006 ms/op 9.2293 ms/op 1.63
phase0 processSlashings - 250000 worstcase 102.00 us/op 106.55 us/op 0.96
altair processSyncCommitteeUpdates - 250000 226.32 ms/op 158.96 ms/op 1.42
BeaconState.hashTreeRoot - No change 801.00 ns/op 383.00 ns/op 2.09
BeaconState.hashTreeRoot - 1 full validator 168.45 us/op 118.97 us/op 1.42
BeaconState.hashTreeRoot - 32 full validator 2.0653 ms/op 1.1771 ms/op 1.75
BeaconState.hashTreeRoot - 512 full validator 18.872 ms/op 12.608 ms/op 1.50
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 226.90 us/op 141.66 us/op 1.60
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.7626 ms/op 2.1331 ms/op 1.30
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 37.275 ms/op 27.679 ms/op 1.35
BeaconState.hashTreeRoot - 1 balances 156.54 us/op 135.25 us/op 1.16
BeaconState.hashTreeRoot - 32 balances 1.7539 ms/op 1.2521 ms/op 1.40
BeaconState.hashTreeRoot - 512 balances 15.161 ms/op 11.962 ms/op 1.27
BeaconState.hashTreeRoot - 250000 balances 281.78 ms/op 224.59 ms/op 1.25
aggregationBits - 2048 els - zipIndexesInBitList 28.202 us/op 23.304 us/op 1.21
byteArrayEquals 32 118.11 ns/op 78.254 ns/op 1.51
Buffer.compare 32 94.139 ns/op 57.851 ns/op 1.63
byteArrayEquals 1024 2.7555 us/op 2.1132 us/op 1.30
Buffer.compare 1024 99.405 ns/op 74.609 ns/op 1.33
byteArrayEquals 16384 42.321 us/op 33.785 us/op 1.25
Buffer.compare 16384 344.48 ns/op 260.11 ns/op 1.32
byteArrayEquals 123687377 337.41 ms/op 257.07 ms/op 1.31
Buffer.compare 123687377 8.5356 ms/op 8.5651 ms/op 1.00
byteArrayEquals 32 - diff last byte 84.691 ns/op 79.483 ns/op 1.07
Buffer.compare 32 - diff last byte 69.070 ns/op 60.279 ns/op 1.15
byteArrayEquals 1024 - diff last byte 2.4574 us/op 2.2675 us/op 1.08
Buffer.compare 1024 - diff last byte 86.141 ns/op 78.521 ns/op 1.10
byteArrayEquals 16384 - diff last byte 39.342 us/op 34.276 us/op 1.15
Buffer.compare 16384 - diff last byte 341.91 ns/op 284.02 ns/op 1.20
byteArrayEquals 123687377 - diff last byte 314.66 ms/op 256.26 ms/op 1.23
Buffer.compare 123687377 - diff last byte 7.4873 ms/op 8.1069 ms/op 0.92
byteArrayEquals 32 - random bytes 6.6020 ns/op 6.1040 ns/op 1.08
Buffer.compare 32 - random bytes 71.797 ns/op 63.397 ns/op 1.13
byteArrayEquals 1024 - random bytes 6.3270 ns/op 6.2630 ns/op 1.01
Buffer.compare 1024 - random bytes 71.537 ns/op 65.080 ns/op 1.10
byteArrayEquals 16384 - random bytes 6.5340 ns/op 6.5350 ns/op 1.00
Buffer.compare 16384 - random bytes 76.511 ns/op 65.098 ns/op 1.18
byteArrayEquals 123687377 - random bytes 11.200 ns/op 9.2200 ns/op 1.21
Buffer.compare 123687377 - random bytes 83.060 ns/op 76.820 ns/op 1.08
regular array get 100000 times 55.375 us/op 47.274 us/op 1.17
wrappedArray get 100000 times 52.540 us/op 46.486 us/op 1.13
arrayWithProxy get 100000 times 17.236 ms/op 14.968 ms/op 1.15
ssz.Root.equals 62.836 ns/op 56.543 ns/op 1.11
byteArrayEquals 62.231 ns/op 55.178 ns/op 1.13
Buffer.compare 13.939 ns/op 12.390 ns/op 1.13
shuffle list - 16384 els 8.3240 ms/op 7.1854 ms/op 1.16
shuffle list - 250000 els 124.53 ms/op 105.83 ms/op 1.18
processSlot - 1 slots 19.557 us/op 17.890 us/op 1.09
processSlot - 32 slots 3.4032 ms/op 3.0792 ms/op 1.11
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 67.887 ms/op 63.571 ms/op 1.07
getCommitteeAssignments - req 1 vs - 250000 vc 3.0709 ms/op 2.5849 ms/op 1.19
getCommitteeAssignments - req 100 vs - 250000 vc 4.8732 ms/op 3.8397 ms/op 1.27
getCommitteeAssignments - req 1000 vs - 250000 vc 5.1596 ms/op 4.3497 ms/op 1.19
findModifiedValidators - 10000 modified validators 703.08 ms/op 554.05 ms/op 1.27
findModifiedValidators - 1000 modified validators 585.33 ms/op 462.96 ms/op 1.26
findModifiedValidators - 100 modified validators 529.44 ms/op 439.06 ms/op 1.21
findModifiedValidators - 10 modified validators 522.39 ms/op 522.46 ms/op 1.00
findModifiedValidators - 1 modified validators 492.18 ms/op 485.82 ms/op 1.01
findModifiedValidators - no difference 523.13 ms/op 435.29 ms/op 1.20
compare ViewDUs 5.4610 s/op 4.9753 s/op 1.10
compare each validator Uint8Array 2.3157 s/op 1.5808 s/op 1.46
compare ViewDU to Uint8Array 1.6352 s/op 1.3566 s/op 1.21
migrate state 1000000 validators, 24 modified, 0 new 1.0414 s/op 869.04 ms/op 1.20
migrate state 1000000 validators, 1700 modified, 1000 new 1.3449 s/op 1.2549 s/op 1.07
migrate state 1000000 validators, 3400 modified, 2000 new 1.8855 s/op 1.6822 s/op 1.12
migrate state 1500000 validators, 24 modified, 0 new 969.53 ms/op 929.73 ms/op 1.04
migrate state 1500000 validators, 1700 modified, 1000 new 1.1678 s/op 1.2524 s/op 0.93
migrate state 1500000 validators, 3400 modified, 2000 new 1.4510 s/op 1.6436 s/op 0.88
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.3600 ns/op 5.3500 ns/op 0.81
state getBlockRootAtSlot - 250000 vs - 7PWei 773.41 ns/op 801.97 ns/op 0.96
computeProposers - vc 250000 10.906 ms/op 10.728 ms/op 1.02
computeEpochShuffling - vc 250000 115.71 ms/op 110.86 ms/op 1.04
getNextSyncCommittee - vc 250000 184.47 ms/op 168.15 ms/op 1.10
computeSigningRoot for AttestationData 32.770 us/op 34.528 us/op 0.95
hash AttestationData serialized data then Buffer.toString(base64) 2.3232 us/op 2.5824 us/op 0.90
toHexString serialized data 1.0864 us/op 1.9614 us/op 0.55
Buffer.toString(base64) 223.38 ns/op 271.63 ns/op 0.82

by benchmarkbot/action

@wemeetagain wemeetagain merged commit 54bedcb into unstable Feb 10, 2024
13 of 15 checks passed
@wemeetagain wemeetagain deleted the jeluard/bls-upgrade branch February 10, 2024 04:08
@wemeetagain
Copy link
Member

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