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 blst #6492

Merged
merged 1 commit into from
Mar 1, 2024
Merged

chore: upgrade blst #6492

merged 1 commit into from
Mar 1, 2024

Conversation

jeluard
Copy link
Contributor

@jeluard jeluard commented Feb 27, 2024

Motivation

Upgrade blst to latest version. Should improve DX for apple silicon users.
Notte that it will only help for users of supported node versions.

Successfully validated here.

Copy link

codecov bot commented Feb 27, 2024

Codecov Report

Merging #6492 (619ab12) into unstable (645d491) will not change coverage.
Report is 1 commits behind head on unstable.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6492   +/-   ##
=========================================
  Coverage     61.72%   61.72%           
=========================================
  Files           555      555           
  Lines         58204    58204           
  Branches       1844     1844           
=========================================
  Hits          35927    35927           
  Misses        22238    22238           
  Partials         39       39           

Copy link
Contributor

github-actions bot commented Feb 27, 2024

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: 8e54120 Previous: 86d28c9 Ratio
enrSubnets - fastDeserialize 64 bits 1.3690 us/op 8.7350 us/op 0.16
Full benchmark results
Benchmark suite Current: 8e54120 Previous: 86d28c9 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 830.73 us/op 718.71 us/op 1.16
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 119.88 us/op 140.01 us/op 0.86
BLS verify - blst-native 1.3691 ms/op 1.5223 ms/op 0.90
BLS verifyMultipleSignatures 3 - blst-native 2.8659 ms/op 3.1874 ms/op 0.90
BLS verifyMultipleSignatures 8 - blst-native 6.3480 ms/op 6.7308 ms/op 0.94
BLS verifyMultipleSignatures 32 - blst-native 23.624 ms/op 24.378 ms/op 0.97
BLS verifyMultipleSignatures 64 - blst-native 46.283 ms/op 48.053 ms/op 0.96
BLS verifyMultipleSignatures 128 - blst-native 91.483 ms/op 97.926 ms/op 0.93
BLS deserializing 10000 signatures 984.11 ms/op 1.0064 s/op 0.98
BLS deserializing 100000 signatures 9.3100 s/op 9.8204 s/op 0.95
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.4927 ms/op 1.4853 ms/op 1.01
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.5683 ms/op 1.7112 ms/op 0.92
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.5233 ms/op 2.5807 ms/op 0.98
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.5454 ms/op 3.9121 ms/op 0.91
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.8643 ms/op 6.3670 ms/op 0.92
BLS aggregatePubkeys 32 - blst-native 27.760 us/op 29.646 us/op 0.94
BLS aggregatePubkeys 128 - blst-native 106.92 us/op 114.43 us/op 0.93
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 70.329 ms/op 86.773 ms/op 0.81
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 62.744 ms/op 64.872 ms/op 0.97
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 49.479 ms/op 55.451 ms/op 0.89
getSlashingsAndExits - default max 334.37 us/op 260.86 us/op 1.28
getSlashingsAndExits - 2k 600.68 us/op 679.34 us/op 0.88
proposeBlockBody type=full, size=empty 7.1780 ms/op 6.7894 ms/op 1.06
isKnown best case - 1 super set check 660.00 ns/op 682.00 ns/op 0.97
isKnown normal case - 2 super set checks 610.00 ns/op 708.00 ns/op 0.86
isKnown worse case - 16 super set checks 620.00 ns/op 731.00 ns/op 0.85
CheckpointStateCache - add get delete 6.6570 us/op 7.1170 us/op 0.94
validate api signedAggregateAndProof - struct 2.9159 ms/op 3.0103 ms/op 0.97
validate gossip signedAggregateAndProof - struct 3.0065 ms/op 3.0470 ms/op 0.99
validate gossip attestation - vc 640000 1.5306 ms/op 1.4939 ms/op 1.02
batch validate gossip attestation - vc 640000 - chunk 32 199.15 us/op 204.28 us/op 0.97
batch validate gossip attestation - vc 640000 - chunk 64 168.00 us/op 170.94 us/op 0.98
batch validate gossip attestation - vc 640000 - chunk 128 161.71 us/op 180.15 us/op 0.90
batch validate gossip attestation - vc 640000 - chunk 256 141.56 us/op 159.57 us/op 0.89
pickEth1Vote - no votes 1.3448 ms/op 1.3992 ms/op 0.96
pickEth1Vote - max votes 11.508 ms/op 15.569 ms/op 0.74
pickEth1Vote - Eth1Data hashTreeRoot value x2048 20.369 ms/op 25.411 ms/op 0.80
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 29.535 ms/op 39.490 ms/op 0.75
pickEth1Vote - Eth1Data fastSerialize value x2048 829.77 us/op 968.68 us/op 0.86
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.5077 ms/op 8.1430 ms/op 0.68
bytes32 toHexString 734.00 ns/op 1.0070 us/op 0.73
bytes32 Buffer.toString(hex) 349.00 ns/op 370.00 ns/op 0.94
bytes32 Buffer.toString(hex) from Uint8Array 513.00 ns/op 647.00 ns/op 0.79
bytes32 Buffer.toString(hex) + 0x 326.00 ns/op 369.00 ns/op 0.88
Object access 1 prop 0.22600 ns/op 0.27900 ns/op 0.81
Map access 1 prop 0.15800 ns/op 0.17900 ns/op 0.88
Object get x1000 7.6120 ns/op 8.4900 ns/op 0.90
Map get x1000 0.88000 ns/op 1.0440 ns/op 0.84
Object set x1000 69.057 ns/op 89.509 ns/op 0.77
Map set x1000 54.072 ns/op 63.556 ns/op 0.85
Return object 10000 times 0.24970 ns/op 0.31130 ns/op 0.80
Throw Error 10000 times 3.9229 us/op 4.8830 us/op 0.80
fastMsgIdFn sha256 / 200 bytes 3.5140 us/op 4.0060 us/op 0.88
fastMsgIdFn h32 xxhash / 200 bytes 343.00 ns/op 436.00 ns/op 0.79
fastMsgIdFn h64 xxhash / 200 bytes 402.00 ns/op 481.00 ns/op 0.84
fastMsgIdFn sha256 / 1000 bytes 11.837 us/op 14.164 us/op 0.84
fastMsgIdFn h32 xxhash / 1000 bytes 459.00 ns/op 655.00 ns/op 0.70
fastMsgIdFn h64 xxhash / 1000 bytes 455.00 ns/op 636.00 ns/op 0.72
fastMsgIdFn sha256 / 10000 bytes 106.16 us/op 126.58 us/op 0.84
fastMsgIdFn h32 xxhash / 10000 bytes 2.0040 us/op 2.5950 us/op 0.77
fastMsgIdFn h64 xxhash / 10000 bytes 1.3940 us/op 1.6880 us/op 0.83
send data - 1000 256B messages 21.169 ms/op 30.974 ms/op 0.68
send data - 1000 512B messages 29.108 ms/op 42.174 ms/op 0.69
send data - 1000 1024B messages 46.394 ms/op 59.807 ms/op 0.78
send data - 1000 1200B messages 39.523 ms/op 65.773 ms/op 0.60
send data - 1000 2048B messages 56.110 ms/op 83.171 ms/op 0.67
send data - 1000 4096B messages 48.084 ms/op 65.128 ms/op 0.74
send data - 1000 16384B messages 112.61 ms/op 183.18 ms/op 0.61
send data - 1000 65536B messages 483.14 ms/op 707.16 ms/op 0.68
enrSubnets - fastDeserialize 64 bits 1.3690 us/op 8.7350 us/op 0.16
enrSubnets - ssz BitVector 64 bits 522.00 ns/op 963.00 ns/op 0.54
enrSubnets - fastDeserialize 4 bits 192.00 ns/op 303.00 ns/op 0.63
enrSubnets - ssz BitVector 4 bits 472.00 ns/op 767.00 ns/op 0.62
prioritizePeers score -10:0 att 32-0.1 sync 2-0 112.37 us/op 159.24 us/op 0.71
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 141.96 us/op 210.03 us/op 0.68
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 197.78 us/op 246.25 us/op 0.80
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 324.81 us/op 416.41 us/op 0.78
prioritizePeers score 0:0 att 64-1 sync 4-1 392.13 us/op 437.42 us/op 0.90
array of 16000 items push then shift 1.6883 us/op 1.8766 us/op 0.90
LinkedList of 16000 items push then shift 9.2600 ns/op 12.343 ns/op 0.75
array of 16000 items push then pop 82.985 ns/op 147.18 ns/op 0.56
LinkedList of 16000 items push then pop 8.9360 ns/op 11.373 ns/op 0.79
array of 24000 items push then shift 2.5016 us/op 2.6893 us/op 0.93
LinkedList of 24000 items push then shift 9.1100 ns/op 13.332 ns/op 0.68
array of 24000 items push then pop 125.95 ns/op 214.16 ns/op 0.59
LinkedList of 24000 items push then pop 8.7840 ns/op 11.424 ns/op 0.77
intersect bitArray bitLen 8 5.8330 ns/op 7.0530 ns/op 0.83
intersect array and set length 8 64.176 ns/op 114.00 ns/op 0.56
intersect bitArray bitLen 128 36.694 ns/op 43.675 ns/op 0.84
intersect array and set length 128 1.0306 us/op 1.3464 us/op 0.77
bitArray.getTrueBitIndexes() bitLen 128 1.8430 us/op 2.4020 us/op 0.77
bitArray.getTrueBitIndexes() bitLen 248 3.1000 us/op 4.1880 us/op 0.74
bitArray.getTrueBitIndexes() bitLen 512 6.1560 us/op 8.7820 us/op 0.70
Buffer.concat 32 items 1.0380 us/op 1.3540 us/op 0.77
Uint8Array.set 32 items 2.3590 us/op 2.4780 us/op 0.95
Set add up to 64 items then delete first 4.7654 us/op 5.8775 us/op 0.81
OrderedSet add up to 64 items then delete first 6.4916 us/op 8.5824 us/op 0.76
Set add up to 64 items then delete last 5.0214 us/op 6.3436 us/op 0.79
OrderedSet add up to 64 items then delete last 6.3837 us/op 8.6996 us/op 0.73
Set add up to 64 items then delete middle 5.1720 us/op 6.5691 us/op 0.79
OrderedSet add up to 64 items then delete middle 8.2562 us/op 9.8377 us/op 0.84
Set add up to 128 items then delete first 10.271 us/op 12.367 us/op 0.83
OrderedSet add up to 128 items then delete first 13.038 us/op 17.864 us/op 0.73
Set add up to 128 items then delete last 9.4381 us/op 12.265 us/op 0.77
OrderedSet add up to 128 items then delete last 11.957 us/op 17.834 us/op 0.67
Set add up to 128 items then delete middle 9.4641 us/op 12.668 us/op 0.75
OrderedSet add up to 128 items then delete middle 17.840 us/op 23.060 us/op 0.77
Set add up to 256 items then delete first 19.823 us/op 25.409 us/op 0.78
OrderedSet add up to 256 items then delete first 28.809 us/op 35.580 us/op 0.81
Set add up to 256 items then delete last 20.536 us/op 24.010 us/op 0.86
OrderedSet add up to 256 items then delete last 24.886 us/op 32.601 us/op 0.76
Set add up to 256 items then delete middle 20.954 us/op 24.042 us/op 0.87
OrderedSet add up to 256 items then delete middle 51.412 us/op 58.010 us/op 0.89
transfer serialized Status (84 B) 2.0370 us/op 2.2680 us/op 0.90
copy serialized Status (84 B) 1.4700 us/op 1.6110 us/op 0.91
transfer serialized SignedVoluntaryExit (112 B) 2.1010 us/op 2.2470 us/op 0.94
copy serialized SignedVoluntaryExit (112 B) 1.5400 us/op 1.7350 us/op 0.89
transfer serialized ProposerSlashing (416 B) 3.3030 us/op 2.6760 us/op 1.23
copy serialized ProposerSlashing (416 B) 3.1900 us/op 2.5600 us/op 1.25
transfer serialized Attestation (485 B) 3.5520 us/op 3.0250 us/op 1.17
copy serialized Attestation (485 B) 3.0940 us/op 2.3740 us/op 1.30
transfer serialized AttesterSlashing (33232 B) 2.9720 us/op 2.4770 us/op 1.20
copy serialized AttesterSlashing (33232 B) 7.9360 us/op 9.4980 us/op 0.84
transfer serialized Small SignedBeaconBlock (128000 B) 2.9580 us/op 2.7510 us/op 1.08
copy serialized Small SignedBeaconBlock (128000 B) 22.774 us/op 34.050 us/op 0.67
transfer serialized Avg SignedBeaconBlock (200000 B) 3.1880 us/op 3.3710 us/op 0.95
copy serialized Avg SignedBeaconBlock (200000 B) 30.317 us/op 55.495 us/op 0.55
transfer serialized BlobsSidecar (524380 B) 3.0190 us/op 4.7160 us/op 0.64
copy serialized BlobsSidecar (524380 B) 106.81 us/op 279.13 us/op 0.38
transfer serialized Big SignedBeaconBlock (1000000 B) 3.2180 us/op 4.1220 us/op 0.78
copy serialized Big SignedBeaconBlock (1000000 B) 418.48 us/op 298.38 us/op 1.40
pass gossip attestations to forkchoice per slot 4.0588 ms/op 4.5844 ms/op 0.89
forkChoice updateHead vc 100000 bc 64 eq 0 726.54 us/op 758.68 us/op 0.96
forkChoice updateHead vc 600000 bc 64 eq 0 5.5180 ms/op 4.6402 ms/op 1.19
forkChoice updateHead vc 1000000 bc 64 eq 0 7.9591 ms/op 8.2958 ms/op 0.96
forkChoice updateHead vc 600000 bc 320 eq 0 4.3764 ms/op 4.9693 ms/op 0.88
forkChoice updateHead vc 600000 bc 1200 eq 0 4.5892 ms/op 5.1966 ms/op 0.88
forkChoice updateHead vc 600000 bc 7200 eq 0 5.8083 ms/op 7.8790 ms/op 0.74
forkChoice updateHead vc 600000 bc 64 eq 1000 11.923 ms/op 14.303 ms/op 0.83
forkChoice updateHead vc 600000 bc 64 eq 10000 12.316 ms/op 13.466 ms/op 0.91
forkChoice updateHead vc 600000 bc 64 eq 300000 19.844 ms/op 37.798 ms/op 0.52
computeDeltas 500000 validators 300 proto nodes 6.9157 ms/op 8.0916 ms/op 0.85
computeDeltas 500000 validators 1200 proto nodes 6.8531 ms/op 8.3417 ms/op 0.82
computeDeltas 500000 validators 7200 proto nodes 7.0553 ms/op 8.1203 ms/op 0.87
computeDeltas 750000 validators 300 proto nodes 10.295 ms/op 11.019 ms/op 0.93
computeDeltas 750000 validators 1200 proto nodes 10.223 ms/op 11.473 ms/op 0.89
computeDeltas 750000 validators 7200 proto nodes 10.849 ms/op 11.706 ms/op 0.93
computeDeltas 1400000 validators 300 proto nodes 20.063 ms/op 21.210 ms/op 0.95
computeDeltas 1400000 validators 1200 proto nodes 20.062 ms/op 20.939 ms/op 0.96
computeDeltas 1400000 validators 7200 proto nodes 19.844 ms/op 21.194 ms/op 0.94
computeDeltas 2100000 validators 300 proto nodes 29.804 ms/op 36.223 ms/op 0.82
computeDeltas 2100000 validators 1200 proto nodes 29.804 ms/op 37.810 ms/op 0.79
computeDeltas 2100000 validators 7200 proto nodes 28.295 ms/op 32.973 ms/op 0.86
altair processAttestation - 250000 vs - 7PWei normalcase 2.3894 ms/op 3.9080 ms/op 0.61
altair processAttestation - 250000 vs - 7PWei worstcase 5.3570 ms/op 6.5336 ms/op 0.82
altair processAttestation - setStatus - 1/6 committees join 350.32 us/op 292.25 us/op 1.20
altair processAttestation - setStatus - 1/3 committees join 500.09 us/op 472.84 us/op 1.06
altair processAttestation - setStatus - 1/2 committees join 770.97 us/op 621.40 us/op 1.24
altair processAttestation - setStatus - 2/3 committees join 1.0356 ms/op 738.08 us/op 1.40
altair processAttestation - setStatus - 4/5 committees join 1.5013 ms/op 1.0449 ms/op 1.44
altair processAttestation - setStatus - 100% committees join 1.5086 ms/op 1.0743 ms/op 1.40
altair processBlock - 250000 vs - 7PWei normalcase 15.265 ms/op 11.780 ms/op 1.30
altair processBlock - 250000 vs - 7PWei normalcase hashState 56.111 ms/op 39.885 ms/op 1.41
altair processBlock - 250000 vs - 7PWei worstcase 47.026 ms/op 46.801 ms/op 1.00
altair processBlock - 250000 vs - 7PWei worstcase hashState 101.37 ms/op 113.66 ms/op 0.89
phase0 processBlock - 250000 vs - 7PWei normalcase 3.2226 ms/op 3.7221 ms/op 0.87
phase0 processBlock - 250000 vs - 7PWei worstcase 37.171 ms/op 36.246 ms/op 1.03
altair processEth1Data - 250000 vs - 7PWei normalcase 853.87 us/op 762.23 us/op 1.12
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 26.330 us/op 18.734 us/op 1.41
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 127.71 us/op 71.929 us/op 1.78
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 43.836 us/op 30.881 us/op 1.42
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 33.424 us/op 17.413 us/op 1.92
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 283.71 us/op 252.59 us/op 1.12
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 2.5283 ms/op 1.7784 ms/op 1.42
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 3.5511 ms/op 2.0067 ms/op 1.77
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.9673 ms/op 1.9225 ms/op 1.54
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 9.3176 ms/op 4.7485 ms/op 1.96
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 4.2228 ms/op 3.3100 ms/op 1.28
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 12.054 ms/op 7.2805 ms/op 1.66
Tree 40 250000 create 1.0627 s/op 447.78 ms/op 2.37
Tree 40 250000 get(125000) 239.13 ns/op 234.70 ns/op 1.02
Tree 40 250000 set(125000) 3.5795 us/op 1.4258 us/op 2.51
Tree 40 250000 toArray() 35.673 ms/op 26.088 ms/op 1.37
Tree 40 250000 iterate all - toArray() + loop 38.436 ms/op 27.067 ms/op 1.42
Tree 40 250000 iterate all - get(i) 118.75 ms/op 81.066 ms/op 1.46
MutableVector 250000 create 16.957 ms/op 14.127 ms/op 1.20
MutableVector 250000 get(125000) 11.757 ns/op 7.2840 ns/op 1.61
MutableVector 250000 set(125000) 861.58 ns/op 438.82 ns/op 1.96
MutableVector 250000 toArray() 5.9440 ms/op 4.9920 ms/op 1.19
MutableVector 250000 iterate all - toArray() + loop 6.9324 ms/op 4.6550 ms/op 1.49
MutableVector 250000 iterate all - get(i) 1.7991 ms/op 1.7460 ms/op 1.03
Array 250000 create 5.8490 ms/op 3.5100 ms/op 1.67
Array 250000 clone - spread 7.3492 ms/op 1.2337 ms/op 5.96
Array 250000 get(125000) 3.6170 ns/op 1.0530 ns/op 3.43
Array 250000 set(125000) 6.8560 ns/op 4.1590 ns/op 1.65
Array 250000 iterate all - loop 219.97 us/op 169.06 us/op 1.30
effectiveBalanceIncrements clone Uint8Array 300000 65.363 us/op 27.095 us/op 2.41
effectiveBalanceIncrements clone MutableVector 300000 578.00 ns/op 355.00 ns/op 1.63
effectiveBalanceIncrements rw all Uint8Array 300000 213.00 us/op 204.27 us/op 1.04
effectiveBalanceIncrements rw all MutableVector 300000 162.22 ms/op 85.719 ms/op 1.89
phase0 afterProcessEpoch - 250000 vs - 7PWei 126.24 ms/op 128.30 ms/op 0.98
phase0 beforeProcessEpoch - 250000 vs - 7PWei 62.320 ms/op 55.747 ms/op 1.12
altair processEpoch - mainnet_e81889 572.75 ms/op 575.11 ms/op 1.00
mainnet_e81889 - altair beforeProcessEpoch 95.090 ms/op 100.33 ms/op 0.95
mainnet_e81889 - altair processJustificationAndFinalization 24.008 us/op 20.706 us/op 1.16
mainnet_e81889 - altair processInactivityUpdates 6.8155 ms/op 6.6868 ms/op 1.02
mainnet_e81889 - altair processRewardsAndPenalties 49.077 ms/op 74.379 ms/op 0.66
mainnet_e81889 - altair processRegistryUpdates 2.5880 us/op 3.7130 us/op 0.70
mainnet_e81889 - altair processSlashings 542.00 ns/op 616.00 ns/op 0.88
mainnet_e81889 - altair processEth1DataReset 789.00 ns/op 900.00 ns/op 0.88
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.4370 ms/op 1.5542 ms/op 0.92
mainnet_e81889 - altair processSlashingsReset 6.3130 us/op 7.3830 us/op 0.86
mainnet_e81889 - altair processRandaoMixesReset 13.904 us/op 9.4270 us/op 1.47
mainnet_e81889 - altair processHistoricalRootsUpdate 2.0230 us/op 1.0180 us/op 1.99
mainnet_e81889 - altair processParticipationFlagUpdates 5.9820 us/op 3.5010 us/op 1.71
mainnet_e81889 - altair processSyncCommitteeUpdates 2.8710 us/op 1.0520 us/op 2.73
mainnet_e81889 - altair afterProcessEpoch 161.87 ms/op 132.91 ms/op 1.22
capella processEpoch - mainnet_e217614 2.6778 s/op 2.6706 s/op 1.00
mainnet_e217614 - capella beforeProcessEpoch 527.70 ms/op 593.20 ms/op 0.89
mainnet_e217614 - capella processJustificationAndFinalization 19.508 us/op 27.843 us/op 0.70
mainnet_e217614 - capella processInactivityUpdates 24.074 ms/op 23.804 ms/op 1.01
mainnet_e217614 - capella processRewardsAndPenalties 459.08 ms/op 474.88 ms/op 0.97
mainnet_e217614 - capella processRegistryUpdates 32.974 us/op 49.463 us/op 0.67
mainnet_e217614 - capella processSlashings 848.00 ns/op 1.0540 us/op 0.80
mainnet_e217614 - capella processEth1DataReset 1.2700 us/op 741.00 ns/op 1.71
mainnet_e217614 - capella processEffectiveBalanceUpdates 6.6676 ms/op 12.228 ms/op 0.55
mainnet_e217614 - capella processSlashingsReset 5.5550 us/op 3.8290 us/op 1.45
mainnet_e217614 - capella processRandaoMixesReset 6.5870 us/op 7.0580 us/op 0.93
mainnet_e217614 - capella processHistoricalRootsUpdate 804.00 ns/op 1.0940 us/op 0.73
mainnet_e217614 - capella processParticipationFlagUpdates 2.0120 us/op 2.2660 us/op 0.89
mainnet_e217614 - capella afterProcessEpoch 328.81 ms/op 351.82 ms/op 0.93
phase0 processEpoch - mainnet_e58758 473.85 ms/op 517.60 ms/op 0.92
mainnet_e58758 - phase0 beforeProcessEpoch 135.15 ms/op 175.35 ms/op 0.77
mainnet_e58758 - phase0 processJustificationAndFinalization 17.135 us/op 20.674 us/op 0.83
mainnet_e58758 - phase0 processRewardsAndPenalties 58.313 ms/op 59.773 ms/op 0.98
mainnet_e58758 - phase0 processRegistryUpdates 13.849 us/op 13.496 us/op 1.03
mainnet_e58758 - phase0 processSlashings 432.00 ns/op 1.3270 us/op 0.33
mainnet_e58758 - phase0 processEth1DataReset 550.00 ns/op 1.1830 us/op 0.46
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.7262 ms/op 1.2671 ms/op 1.36
mainnet_e58758 - phase0 processSlashingsReset 3.4560 us/op 4.1830 us/op 0.83
mainnet_e58758 - phase0 processRandaoMixesReset 4.8620 us/op 5.1660 us/op 0.94
mainnet_e58758 - phase0 processHistoricalRootsUpdate 516.00 ns/op 1.0140 us/op 0.51
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.8030 us/op 5.5180 us/op 0.69
mainnet_e58758 - phase0 afterProcessEpoch 99.380 ms/op 104.49 ms/op 0.95
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4395 ms/op 1.5425 ms/op 0.93
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.6711 ms/op 1.8540 ms/op 0.90
altair processInactivityUpdates - 250000 normalcase 33.195 ms/op 36.879 ms/op 0.90
altair processInactivityUpdates - 250000 worstcase 28.247 ms/op 41.087 ms/op 0.69
phase0 processRegistryUpdates - 250000 normalcase 10.723 us/op 18.839 us/op 0.57
phase0 processRegistryUpdates - 250000 badcase_full_deposits 520.13 us/op 585.54 us/op 0.89
phase0 processRegistryUpdates - 250000 worstcase 0.5 170.92 ms/op 198.27 ms/op 0.86
altair processRewardsAndPenalties - 250000 normalcase 66.195 ms/op 68.336 ms/op 0.97
altair processRewardsAndPenalties - 250000 worstcase 52.724 ms/op 76.670 ms/op 0.69
phase0 getAttestationDeltas - 250000 normalcase 8.6659 ms/op 15.018 ms/op 0.58
phase0 getAttestationDeltas - 250000 worstcase 9.5959 ms/op 15.616 ms/op 0.61
phase0 processSlashings - 250000 worstcase 100.93 us/op 126.51 us/op 0.80
altair processSyncCommitteeUpdates - 250000 165.11 ms/op 200.06 ms/op 0.83
BeaconState.hashTreeRoot - No change 395.00 ns/op 1.1150 us/op 0.35
BeaconState.hashTreeRoot - 1 full validator 154.63 us/op 200.80 us/op 0.77
BeaconState.hashTreeRoot - 32 full validator 1.3029 ms/op 2.4751 ms/op 0.53
BeaconState.hashTreeRoot - 512 full validator 19.970 ms/op 22.008 ms/op 0.91
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 178.31 us/op 217.91 us/op 0.82
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.3401 ms/op 3.2034 ms/op 0.73
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 33.136 ms/op 43.517 ms/op 0.76
BeaconState.hashTreeRoot - 1 balances 136.70 us/op 204.03 us/op 0.67
BeaconState.hashTreeRoot - 32 balances 1.6570 ms/op 1.6291 ms/op 1.02
BeaconState.hashTreeRoot - 512 balances 16.788 ms/op 15.046 ms/op 1.12
BeaconState.hashTreeRoot - 250000 balances 248.63 ms/op 242.50 ms/op 1.03
aggregationBits - 2048 els - zipIndexesInBitList 26.597 us/op 25.492 us/op 1.04
byteArrayEquals 32 77.977 ns/op 91.462 ns/op 0.85
Buffer.compare 32 57.103 ns/op 63.375 ns/op 0.90
byteArrayEquals 1024 2.0977 us/op 2.2570 us/op 0.93
Buffer.compare 1024 72.523 ns/op 77.902 ns/op 0.93
byteArrayEquals 16384 33.563 us/op 36.095 us/op 0.93
Buffer.compare 16384 252.20 ns/op 269.95 ns/op 0.93
byteArrayEquals 123687377 256.27 ms/op 261.33 ms/op 0.98
Buffer.compare 123687377 8.3510 ms/op 6.6807 ms/op 1.25
byteArrayEquals 32 - diff last byte 81.177 ns/op 79.740 ns/op 1.02
Buffer.compare 32 - diff last byte 61.969 ns/op 58.999 ns/op 1.05
byteArrayEquals 1024 - diff last byte 2.1469 us/op 2.0712 us/op 1.04
Buffer.compare 1024 - diff last byte 73.989 ns/op 74.262 ns/op 1.00
byteArrayEquals 16384 - diff last byte 33.759 us/op 33.379 us/op 1.01
Buffer.compare 16384 - diff last byte 285.91 ns/op 263.15 ns/op 1.09
byteArrayEquals 123687377 - diff last byte 256.16 ms/op 276.85 ms/op 0.93
Buffer.compare 123687377 - diff last byte 8.6975 ms/op 8.5717 ms/op 1.01
byteArrayEquals 32 - random bytes 6.1630 ns/op 6.5030 ns/op 0.95
Buffer.compare 32 - random bytes 63.252 ns/op 66.131 ns/op 0.96
byteArrayEquals 1024 - random bytes 6.3190 ns/op 6.5460 ns/op 0.97
Buffer.compare 1024 - random bytes 63.500 ns/op 65.875 ns/op 0.96
byteArrayEquals 16384 - random bytes 6.3770 ns/op 6.5780 ns/op 0.97
Buffer.compare 16384 - random bytes 63.451 ns/op 65.345 ns/op 0.97
byteArrayEquals 123687377 - random bytes 9.7300 ns/op 9.9300 ns/op 0.98
Buffer.compare 123687377 - random bytes 76.330 ns/op 77.060 ns/op 0.99
regular array get 100000 times 47.175 us/op 48.075 us/op 0.98
wrappedArray get 100000 times 47.104 us/op 47.641 us/op 0.99
arrayWithProxy get 100000 times 14.976 ms/op 15.905 ms/op 0.94
ssz.Root.equals 55.973 ns/op 58.041 ns/op 0.96
byteArrayEquals 55.315 ns/op 56.961 ns/op 0.97
Buffer.compare 12.230 ns/op 12.547 ns/op 0.97
shuffle list - 16384 els 7.2618 ms/op 7.4487 ms/op 0.97
shuffle list - 250000 els 107.34 ms/op 109.65 ms/op 0.98
processSlot - 1 slots 19.985 us/op 22.764 us/op 0.88
processSlot - 32 slots 3.9363 ms/op 3.2841 ms/op 1.20
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 65.892 ms/op 66.350 ms/op 0.99
getCommitteeAssignments - req 1 vs - 250000 vc 2.7771 ms/op 2.7689 ms/op 1.00
getCommitteeAssignments - req 100 vs - 250000 vc 3.9957 ms/op 3.8262 ms/op 1.04
getCommitteeAssignments - req 1000 vs - 250000 vc 4.2710 ms/op 4.5619 ms/op 0.94
findModifiedValidators - 10000 modified validators 537.12 ms/op 614.76 ms/op 0.87
findModifiedValidators - 1000 modified validators 453.44 ms/op 491.51 ms/op 0.92
findModifiedValidators - 100 modified validators 448.49 ms/op 412.87 ms/op 1.09
findModifiedValidators - 10 modified validators 456.50 ms/op 473.02 ms/op 0.97
findModifiedValidators - 1 modified validators 424.80 ms/op 433.15 ms/op 0.98
findModifiedValidators - no difference 481.00 ms/op 461.78 ms/op 1.04
compare ViewDUs 5.2073 s/op 4.7721 s/op 1.09
compare each validator Uint8Array 2.1808 s/op 1.8585 s/op 1.17
compare ViewDU to Uint8Array 1.5401 s/op 1.2882 s/op 1.20
migrate state 1000000 validators, 24 modified, 0 new 963.43 ms/op 807.76 ms/op 1.19
migrate state 1000000 validators, 1700 modified, 1000 new 1.2139 s/op 1.1885 s/op 1.02
migrate state 1000000 validators, 3400 modified, 2000 new 1.5588 s/op 1.6286 s/op 0.96
migrate state 1500000 validators, 24 modified, 0 new 932.07 ms/op 916.11 ms/op 1.02
migrate state 1500000 validators, 1700 modified, 1000 new 1.2634 s/op 1.1272 s/op 1.12
migrate state 1500000 validators, 3400 modified, 2000 new 1.6008 s/op 1.5530 s/op 1.03
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.3600 ns/op 5.8500 ns/op 0.92
state getBlockRootAtSlot - 250000 vs - 7PWei 891.16 ns/op 944.87 ns/op 0.94
computeProposers - vc 250000 10.775 ms/op 11.013 ms/op 0.98
computeEpochShuffling - vc 250000 117.75 ms/op 115.14 ms/op 1.02
getNextSyncCommittee - vc 250000 173.94 ms/op 191.68 ms/op 0.91
computeSigningRoot for AttestationData 32.040 us/op 36.241 us/op 0.88
hash AttestationData serialized data then Buffer.toString(base64) 2.5012 us/op 2.6409 us/op 0.95
toHexString serialized data 1.5654 us/op 1.5627 us/op 1.00
Buffer.toString(base64) 266.40 ns/op 270.35 ns/op 0.99

by benchmarkbot/action

@jeluard jeluard marked this pull request as ready for review February 28, 2024 07:30
@jeluard jeluard requested a review from a team as a code owner February 28, 2024 07:30
@jeluard jeluard requested a review from nflaig March 1, 2024 07:19
@jeluard jeluard merged commit 1f18ec4 into unstable Mar 1, 2024
21 checks passed
@jeluard jeluard deleted the jeluard/upgrade-blst branch March 1, 2024 10:53
@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.

3 participants