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

feat: revert "feat: use snappy-wasm (#6483)" #7451

Merged
merged 1 commit into from
Feb 11, 2025
Merged

Conversation

wemeetagain
Copy link
Member

This reverts commit 0a8e6e1.

@wemeetagain wemeetagain requested a review from a team as a code owner February 11, 2025 20:27
@wemeetagain wemeetagain changed the title Revert "feat: use snappy-wasm (#6483)" feat: revert "feat: use snappy-wasm (#6483)" Feb 11, 2025
Copy link

codecov bot commented Feb 11, 2025

Codecov Report

Attention: Patch coverage is 25.00000% with 3 lines in your changes missing coverage. Please review.

Project coverage is 50.26%. Comparing base (277437e) to head (be84a85).
Report is 1 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #7451   +/-   ##
=========================================
  Coverage     50.25%   50.26%           
=========================================
  Files           602      602           
  Lines         40404    40396    -8     
  Branches       2204     2204           
=========================================
- Hits          20307    20305    -2     
+ Misses        20057    20051    -6     
  Partials         40       40           

Copy link
Contributor

Performance Report

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: 2391d9c Previous: 277437e Ratio
send data - 1000 65536B messages 234.76 ms/op 831.52 ms/op 0.28
Full benchmark results
Benchmark suite Current: 2391d9c Previous: 277437e Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.0051 ms/op 2.0702 ms/op 0.49
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 36.397 us/op 77.229 us/op 0.47
BLS verify - blst 1.1700 ms/op 1.0981 ms/op 1.07
BLS verifyMultipleSignatures 3 - blst 1.2416 ms/op 1.6308 ms/op 0.76
BLS verifyMultipleSignatures 8 - blst 1.9113 ms/op 2.6924 ms/op 0.71
BLS verifyMultipleSignatures 32 - blst 5.6205 ms/op 8.3866 ms/op 0.67
BLS verifyMultipleSignatures 64 - blst 10.847 ms/op 13.627 ms/op 0.80
BLS verifyMultipleSignatures 128 - blst 18.020 ms/op 23.567 ms/op 0.76
BLS deserializing 10000 signatures 708.49 ms/op 805.87 ms/op 0.88
BLS deserializing 100000 signatures 7.1933 s/op 8.4054 s/op 0.86
BLS verifyMultipleSignatures - same message - 3 - blst 1.1338 ms/op 1.0877 ms/op 1.04
BLS verifyMultipleSignatures - same message - 8 - blst 1.1021 ms/op 1.2061 ms/op 0.91
BLS verifyMultipleSignatures - same message - 32 - blst 1.7388 ms/op 2.0407 ms/op 0.85
BLS verifyMultipleSignatures - same message - 64 - blst 2.6523 ms/op 2.7966 ms/op 0.95
BLS verifyMultipleSignatures - same message - 128 - blst 4.5910 ms/op 4.9451 ms/op 0.93
BLS aggregatePubkeys 32 - blst 19.922 us/op 21.618 us/op 0.92
BLS aggregatePubkeys 128 - blst 71.680 us/op 76.571 us/op 0.94
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 63.002 ms/op 121.59 ms/op 0.52
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 58.427 ms/op 93.451 ms/op 0.63
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 43.930 ms/op 71.679 ms/op 0.61
getSlashingsAndExits - default max 83.659 us/op 147.70 us/op 0.57
getSlashingsAndExits - 2k 345.57 us/op 788.72 us/op 0.44
proposeBlockBody type=full, size=empty 6.2916 ms/op 10.758 ms/op 0.58
isKnown best case - 1 super set check 209.00 ns/op 210.00 ns/op 1.00
isKnown normal case - 2 super set checks 210.00 ns/op 212.00 ns/op 0.99
isKnown worse case - 16 super set checks 206.00 ns/op 210.00 ns/op 0.98
InMemoryCheckpointStateCache - add get delete 2.4730 us/op 6.4320 us/op 0.38
validate api signedAggregateAndProof - struct 1.8653 ms/op 1.9164 ms/op 0.97
validate gossip signedAggregateAndProof - struct 1.5199 ms/op 2.0303 ms/op 0.75
batch validate gossip attestation - vc 640000 - chunk 32 151.74 us/op 186.50 us/op 0.81
batch validate gossip attestation - vc 640000 - chunk 64 124.16 us/op 175.05 us/op 0.71
batch validate gossip attestation - vc 640000 - chunk 128 114.53 us/op 176.71 us/op 0.65
batch validate gossip attestation - vc 640000 - chunk 256 119.84 us/op 171.73 us/op 0.70
pickEth1Vote - no votes 967.19 us/op 1.0873 ms/op 0.89
pickEth1Vote - max votes 7.1165 ms/op 15.943 ms/op 0.45
pickEth1Vote - Eth1Data hashTreeRoot value x2048 19.613 ms/op 21.547 ms/op 0.91
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 25.430 ms/op 51.947 ms/op 0.49
pickEth1Vote - Eth1Data fastSerialize value x2048 458.09 us/op 481.75 us/op 0.95
pickEth1Vote - Eth1Data fastSerialize tree x2048 4.2139 ms/op 3.0387 ms/op 1.39
bytes32 toHexString 373.00 ns/op 634.00 ns/op 0.59
bytes32 Buffer.toString(hex) 245.00 ns/op 355.00 ns/op 0.69
bytes32 Buffer.toString(hex) from Uint8Array 359.00 ns/op 568.00 ns/op 0.63
bytes32 Buffer.toString(hex) + 0x 249.00 ns/op 278.00 ns/op 0.90
Object access 1 prop 0.12800 ns/op 0.16800 ns/op 0.76
Map access 1 prop 0.13300 ns/op 0.13700 ns/op 0.97
Object get x1000 6.3260 ns/op 6.4340 ns/op 0.98
Map get x1000 6.3900 ns/op 6.7190 ns/op 0.95
Object set x1000 28.760 ns/op 36.639 ns/op 0.78
Map set x1000 19.461 ns/op 56.276 ns/op 0.35
Return object 10000 times 0.27920 ns/op 0.48560 ns/op 0.57
Throw Error 10000 times 4.3364 us/op 5.2463 us/op 0.83
toHex 132.86 ns/op 133.62 ns/op 0.99
Buffer.from 119.45 ns/op 135.03 ns/op 0.88
shared Buffer 80.056 ns/op 86.984 ns/op 0.92
fastMsgIdFn sha256 / 200 bytes 2.1650 us/op 2.4460 us/op 0.89
fastMsgIdFn h32 xxhash / 200 bytes 210.00 ns/op 221.00 ns/op 0.95
fastMsgIdFn h64 xxhash / 200 bytes 307.00 ns/op 370.00 ns/op 0.83
fastMsgIdFn sha256 / 1000 bytes 7.0800 us/op 12.078 us/op 0.59
fastMsgIdFn h32 xxhash / 1000 bytes 340.00 ns/op 390.00 ns/op 0.87
fastMsgIdFn h64 xxhash / 1000 bytes 381.00 ns/op 444.00 ns/op 0.86
fastMsgIdFn sha256 / 10000 bytes 65.225 us/op 68.176 us/op 0.96
fastMsgIdFn h32 xxhash / 10000 bytes 1.8570 us/op 2.0480 us/op 0.91
fastMsgIdFn h64 xxhash / 10000 bytes 1.2360 us/op 1.3710 us/op 0.90
send data - 1000 256B messages 11.568 ms/op 31.050 ms/op 0.37
send data - 1000 512B messages 16.341 ms/op 37.059 ms/op 0.44
send data - 1000 1024B messages 27.844 ms/op 43.298 ms/op 0.64
send data - 1000 1200B messages 24.650 ms/op 55.724 ms/op 0.44
send data - 1000 2048B messages 25.936 ms/op 47.052 ms/op 0.55
send data - 1000 4096B messages 32.093 ms/op 56.855 ms/op 0.56
send data - 1000 16384B messages 58.154 ms/op 98.413 ms/op 0.59
send data - 1000 65536B messages 234.76 ms/op 831.52 ms/op 0.28
enrSubnets - fastDeserialize 64 bits 889.00 ns/op 1.4460 us/op 0.61
enrSubnets - ssz BitVector 64 bits 323.00 ns/op 372.00 ns/op 0.87
enrSubnets - fastDeserialize 4 bits 143.00 ns/op 193.00 ns/op 0.74
enrSubnets - ssz BitVector 4 bits 350.00 ns/op 358.00 ns/op 0.98
prioritizePeers score -10:0 att 32-0.1 sync 2-0 126.16 us/op 149.57 us/op 0.84
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 145.81 us/op 192.67 us/op 0.76
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 207.39 us/op 272.45 us/op 0.76
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 391.18 us/op 564.73 us/op 0.69
prioritizePeers score 0:0 att 64-1 sync 4-1 470.41 us/op 576.62 us/op 0.82
array of 16000 items push then shift 1.6767 us/op 1.6947 us/op 0.99
LinkedList of 16000 items push then shift 7.3110 ns/op 19.210 ns/op 0.38
array of 16000 items push then pop 75.050 ns/op 105.33 ns/op 0.71
LinkedList of 16000 items push then pop 6.8310 ns/op 10.796 ns/op 0.63
array of 24000 items push then shift 2.4455 us/op 2.6588 us/op 0.92
LinkedList of 24000 items push then shift 7.5890 ns/op 35.180 ns/op 0.22
array of 24000 items push then pop 111.68 ns/op 158.59 ns/op 0.70
LinkedList of 24000 items push then pop 7.3860 ns/op 11.591 ns/op 0.64
intersect bitArray bitLen 8 6.5120 ns/op 6.6590 ns/op 0.98
intersect array and set length 8 38.360 ns/op 47.913 ns/op 0.80
intersect bitArray bitLen 128 30.174 ns/op 31.163 ns/op 0.97
intersect array and set length 128 626.68 ns/op 783.90 ns/op 0.80
bitArray.getTrueBitIndexes() bitLen 128 1.1020 us/op 2.0000 us/op 0.55
bitArray.getTrueBitIndexes() bitLen 248 1.7740 us/op 2.6200 us/op 0.68
bitArray.getTrueBitIndexes() bitLen 512 3.6550 us/op 6.5410 us/op 0.56
Buffer.concat 32 items 621.00 ns/op 936.00 ns/op 0.66
Uint8Array.set 32 items 1.5690 us/op 3.7480 us/op 0.42
Buffer.copy 2.1870 us/op 6.0800 us/op 0.36
Uint8Array.set - with subarray 1.9270 us/op 5.2820 us/op 0.36
Uint8Array.set - without subarray 1.4300 us/op 3.5930 us/op 0.40
getUint32 - dataview 201.00 ns/op 235.00 ns/op 0.86
getUint32 - manual 127.00 ns/op 171.00 ns/op 0.74
Set add up to 64 items then delete first 2.3368 us/op 3.3326 us/op 0.70
OrderedSet add up to 64 items then delete first 3.3869 us/op 8.5778 us/op 0.39
Set add up to 64 items then delete last 3.1345 us/op 2.8515 us/op 1.10
OrderedSet add up to 64 items then delete last 4.1077 us/op 4.9594 us/op 0.83
Set add up to 64 items then delete middle 2.3101 us/op 4.1579 us/op 0.56
OrderedSet add up to 64 items then delete middle 5.5085 us/op 7.3046 us/op 0.75
Set add up to 128 items then delete first 4.9528 us/op 7.3847 us/op 0.67
OrderedSet add up to 128 items then delete first 8.5286 us/op 9.9063 us/op 0.86
Set add up to 128 items then delete last 5.9445 us/op 8.9781 us/op 0.66
OrderedSet add up to 128 items then delete last 10.012 us/op 12.460 us/op 0.80
Set add up to 128 items then delete middle 5.5542 us/op 8.1792 us/op 0.68
OrderedSet add up to 128 items then delete middle 15.990 us/op 19.770 us/op 0.81
Set add up to 256 items then delete first 11.170 us/op 15.407 us/op 0.73
OrderedSet add up to 256 items then delete first 16.107 us/op 26.664 us/op 0.60
Set add up to 256 items then delete last 10.939 us/op 16.945 us/op 0.65
OrderedSet add up to 256 items then delete last 20.128 us/op 19.233 us/op 1.05
Set add up to 256 items then delete middle 10.557 us/op 13.475 us/op 0.78
OrderedSet add up to 256 items then delete middle 44.551 us/op 55.511 us/op 0.80
transfer serialized Status (84 B) 2.5630 us/op 4.6500 us/op 0.55
copy serialized Status (84 B) 1.5280 us/op 2.4350 us/op 0.63
transfer serialized SignedVoluntaryExit (112 B) 2.6040 us/op 4.2140 us/op 0.62
copy serialized SignedVoluntaryExit (112 B) 1.6910 us/op 2.6030 us/op 0.65
transfer serialized ProposerSlashing (416 B) 3.7340 us/op 6.0360 us/op 0.62
copy serialized ProposerSlashing (416 B) 3.0790 us/op 4.6710 us/op 0.66
transfer serialized Attestation (485 B) 4.1370 us/op 8.0610 us/op 0.51
copy serialized Attestation (485 B) 2.6160 us/op 3.8100 us/op 0.69
transfer serialized AttesterSlashing (33232 B) 3.4450 us/op 4.5480 us/op 0.76
copy serialized AttesterSlashing (33232 B) 4.9750 us/op 21.934 us/op 0.23
transfer serialized Small SignedBeaconBlock (128000 B) 3.4430 us/op 5.7570 us/op 0.60
copy serialized Small SignedBeaconBlock (128000 B) 11.776 us/op 27.578 us/op 0.43
transfer serialized Avg SignedBeaconBlock (200000 B) 3.8450 us/op 6.7020 us/op 0.57
copy serialized Avg SignedBeaconBlock (200000 B) 14.382 us/op 37.264 us/op 0.39
transfer serialized BlobsSidecar (524380 B) 4.3220 us/op 6.8800 us/op 0.63
copy serialized BlobsSidecar (524380 B) 92.989 us/op 225.63 us/op 0.41
transfer serialized Big SignedBeaconBlock (1000000 B) 4.2570 us/op 6.4340 us/op 0.66
copy serialized Big SignedBeaconBlock (1000000 B) 197.28 us/op 322.08 us/op 0.61
pass gossip attestations to forkchoice per slot 3.1906 ms/op 3.4497 ms/op 0.92
forkChoice updateHead vc 100000 bc 64 eq 0 487.25 us/op 461.89 us/op 1.05
forkChoice updateHead vc 600000 bc 64 eq 0 3.2353 ms/op 9.1459 ms/op 0.35
forkChoice updateHead vc 1000000 bc 64 eq 0 5.1934 ms/op 10.463 ms/op 0.50
forkChoice updateHead vc 600000 bc 320 eq 0 3.0941 ms/op 6.1955 ms/op 0.50
forkChoice updateHead vc 600000 bc 1200 eq 0 3.2535 ms/op 6.5451 ms/op 0.50
forkChoice updateHead vc 600000 bc 7200 eq 0 3.9477 ms/op 4.4290 ms/op 0.89
forkChoice updateHead vc 600000 bc 64 eq 1000 11.144 ms/op 11.052 ms/op 1.01
forkChoice updateHead vc 600000 bc 64 eq 10000 10.422 ms/op 10.974 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 300000 19.989 ms/op 14.956 ms/op 1.34
computeDeltas 500000 validators 300 proto nodes 4.1031 ms/op 4.0774 ms/op 1.01
computeDeltas 500000 validators 1200 proto nodes 4.0275 ms/op 4.1143 ms/op 0.98
computeDeltas 500000 validators 7200 proto nodes 4.1718 ms/op 4.2623 ms/op 0.98
computeDeltas 750000 validators 300 proto nodes 6.2901 ms/op 6.3650 ms/op 0.99
computeDeltas 750000 validators 1200 proto nodes 6.2056 ms/op 6.3066 ms/op 0.98
computeDeltas 750000 validators 7200 proto nodes 6.9823 ms/op 6.2650 ms/op 1.11
computeDeltas 1400000 validators 300 proto nodes 12.168 ms/op 11.735 ms/op 1.04
computeDeltas 1400000 validators 1200 proto nodes 11.633 ms/op 11.874 ms/op 0.98
computeDeltas 1400000 validators 7200 proto nodes 11.612 ms/op 11.888 ms/op 0.98
computeDeltas 2100000 validators 300 proto nodes 17.873 ms/op 17.971 ms/op 0.99
computeDeltas 2100000 validators 1200 proto nodes 17.745 ms/op 19.240 ms/op 0.92
computeDeltas 2100000 validators 7200 proto nodes 18.938 ms/op 20.443 ms/op 0.93
altair processAttestation - 250000 vs - 7PWei normalcase 2.3476 ms/op 2.6384 ms/op 0.89
altair processAttestation - 250000 vs - 7PWei worstcase 4.3779 ms/op 4.2331 ms/op 1.03
altair processAttestation - setStatus - 1/6 committees join 150.39 us/op 145.52 us/op 1.03
altair processAttestation - setStatus - 1/3 committees join 267.52 us/op 268.97 us/op 0.99
altair processAttestation - setStatus - 1/2 committees join 370.98 us/op 351.60 us/op 1.06
altair processAttestation - setStatus - 2/3 committees join 537.91 us/op 650.46 us/op 0.83
altair processAttestation - setStatus - 4/5 committees join 707.67 us/op 855.46 us/op 0.83
altair processAttestation - setStatus - 100% committees join 869.71 us/op 1.1012 ms/op 0.79
altair processBlock - 250000 vs - 7PWei normalcase 8.4835 ms/op 5.8119 ms/op 1.46
altair processBlock - 250000 vs - 7PWei normalcase hashState 44.372 ms/op 46.566 ms/op 0.95
altair processBlock - 250000 vs - 7PWei worstcase 50.957 ms/op 51.149 ms/op 1.00
altair processBlock - 250000 vs - 7PWei worstcase hashState 109.43 ms/op 109.07 ms/op 1.00
phase0 processBlock - 250000 vs - 7PWei normalcase 2.1169 ms/op 2.3599 ms/op 0.90
phase0 processBlock - 250000 vs - 7PWei worstcase 29.268 ms/op 28.382 ms/op 1.03
altair processEth1Data - 250000 vs - 7PWei normalcase 385.50 us/op 355.10 us/op 1.09
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.0560 us/op 7.0290 us/op 1.00
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 47.952 us/op 37.849 us/op 1.27
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 13.076 us/op 10.228 us/op 1.28
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 7.3560 us/op 9.2830 us/op 0.79
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 172.36 us/op 184.33 us/op 0.94
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.2582 ms/op 1.2119 ms/op 1.04
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.5409 ms/op 1.6573 ms/op 0.93
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.0594 ms/op 1.9075 ms/op 1.08
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.4962 ms/op 5.0021 ms/op 0.90
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.9164 ms/op 2.7535 ms/op 0.70
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.2964 ms/op 4.5602 ms/op 0.94
Tree 40 250000 create 566.30 ms/op 733.78 ms/op 0.77
Tree 40 250000 get(125000) 151.34 ns/op 150.89 ns/op 1.00
Tree 40 250000 set(125000) 2.0214 us/op 2.7415 us/op 0.74
Tree 40 250000 toArray() 22.282 ms/op 23.497 ms/op 0.95
Tree 40 250000 iterate all - toArray() + loop 22.189 ms/op 25.332 ms/op 0.88
Tree 40 250000 iterate all - get(i) 63.226 ms/op 64.132 ms/op 0.99
Array 250000 create 3.0495 ms/op 4.6723 ms/op 0.65
Array 250000 clone - spread 1.4972 ms/op 1.9548 ms/op 0.77
Array 250000 get(125000) 0.44800 ns/op 0.42900 ns/op 1.04
Array 250000 set(125000) 0.50100 ns/op 0.48300 ns/op 1.04
Array 250000 iterate all - loop 87.998 us/op 89.412 us/op 0.98
phase0 afterProcessEpoch - 250000 vs - 7PWei 52.302 ms/op 53.861 ms/op 0.97
Array.fill - length 1000000 4.9181 ms/op 6.8462 ms/op 0.72
Array push - length 1000000 20.552 ms/op 21.347 ms/op 0.96
Array.get 0.28819 ns/op 0.30516 ns/op 0.94
Uint8Array.get 0.45807 ns/op 0.48600 ns/op 0.94
phase0 beforeProcessEpoch - 250000 vs - 7PWei 19.960 ms/op 21.043 ms/op 0.95
altair processEpoch - mainnet_e81889 308.91 ms/op 425.23 ms/op 0.73
mainnet_e81889 - altair beforeProcessEpoch 20.185 ms/op 26.538 ms/op 0.76
mainnet_e81889 - altair processJustificationAndFinalization 8.0280 us/op 7.0400 us/op 1.14
mainnet_e81889 - altair processInactivityUpdates 5.1086 ms/op 7.9744 ms/op 0.64
mainnet_e81889 - altair processRewardsAndPenalties 46.726 ms/op 56.997 ms/op 0.82
mainnet_e81889 - altair processRegistryUpdates 798.00 ns/op 1.1510 us/op 0.69
mainnet_e81889 - altair processSlashings 209.00 ns/op 280.00 ns/op 0.75
mainnet_e81889 - altair processEth1DataReset 208.00 ns/op 247.00 ns/op 0.84
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2913 ms/op 1.4488 ms/op 0.89
mainnet_e81889 - altair processSlashingsReset 1.0710 us/op 1.0270 us/op 1.04
mainnet_e81889 - altair processRandaoMixesReset 1.3550 us/op 1.8110 us/op 0.75
mainnet_e81889 - altair processHistoricalRootsUpdate 206.00 ns/op 270.00 ns/op 0.76
mainnet_e81889 - altair processParticipationFlagUpdates 598.00 ns/op 563.00 ns/op 1.06
mainnet_e81889 - altair processSyncCommitteeUpdates 148.00 ns/op 162.00 ns/op 0.91
mainnet_e81889 - altair afterProcessEpoch 53.372 ms/op 57.065 ms/op 0.94
capella processEpoch - mainnet_e217614 978.20 ms/op 987.73 ms/op 0.99
mainnet_e217614 - capella beforeProcessEpoch 72.959 ms/op 69.381 ms/op 1.05
mainnet_e217614 - capella processJustificationAndFinalization 6.1610 us/op 5.5740 us/op 1.11
mainnet_e217614 - capella processInactivityUpdates 18.293 ms/op 16.583 ms/op 1.10
mainnet_e217614 - capella processRewardsAndPenalties 191.93 ms/op 199.01 ms/op 0.96
mainnet_e217614 - capella processRegistryUpdates 8.0820 us/op 9.0550 us/op 0.89
mainnet_e217614 - capella processSlashings 215.00 ns/op 203.00 ns/op 1.06
mainnet_e217614 - capella processEth1DataReset 202.00 ns/op 202.00 ns/op 1.00
mainnet_e217614 - capella processEffectiveBalanceUpdates 13.813 ms/op 18.012 ms/op 0.77
mainnet_e217614 - capella processSlashingsReset 1.0830 us/op 932.00 ns/op 1.16
mainnet_e217614 - capella processRandaoMixesReset 1.4650 us/op 1.2970 us/op 1.13
mainnet_e217614 - capella processHistoricalRootsUpdate 205.00 ns/op 202.00 ns/op 1.01
mainnet_e217614 - capella processParticipationFlagUpdates 605.00 ns/op 555.00 ns/op 1.09
mainnet_e217614 - capella afterProcessEpoch 128.53 ms/op 135.46 ms/op 0.95
phase0 processEpoch - mainnet_e58758 305.58 ms/op 373.11 ms/op 0.82
mainnet_e58758 - phase0 beforeProcessEpoch 86.963 ms/op 93.181 ms/op 0.93
mainnet_e58758 - phase0 processJustificationAndFinalization 6.2170 us/op 5.5210 us/op 1.13
mainnet_e58758 - phase0 processRewardsAndPenalties 39.265 ms/op 50.037 ms/op 0.78
mainnet_e58758 - phase0 processRegistryUpdates 3.2430 us/op 3.7760 us/op 0.86
mainnet_e58758 - phase0 processSlashings 194.00 ns/op 199.00 ns/op 0.97
mainnet_e58758 - phase0 processEth1DataReset 196.00 ns/op 198.00 ns/op 0.99
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1398 ms/op 1.0740 ms/op 1.06
mainnet_e58758 - phase0 processSlashingsReset 1.0730 us/op 1.0090 us/op 1.06
mainnet_e58758 - phase0 processRandaoMixesReset 1.2820 us/op 1.2820 us/op 1.00
mainnet_e58758 - phase0 processHistoricalRootsUpdate 201.00 ns/op 185.00 ns/op 1.09
mainnet_e58758 - phase0 processParticipationRecordUpdates 980.00 ns/op 978.00 ns/op 1.00
mainnet_e58758 - phase0 afterProcessEpoch 42.913 ms/op 45.779 ms/op 0.94
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.6331 ms/op 1.7796 ms/op 0.92
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.8316 ms/op 2.6755 ms/op 0.68
altair processInactivityUpdates - 250000 normalcase 21.822 ms/op 19.813 ms/op 1.10
altair processInactivityUpdates - 250000 worstcase 21.905 ms/op 19.871 ms/op 1.10
phase0 processRegistryUpdates - 250000 normalcase 7.2980 us/op 7.9130 us/op 0.92
phase0 processRegistryUpdates - 250000 badcase_full_deposits 337.42 us/op 665.24 us/op 0.51
phase0 processRegistryUpdates - 250000 worstcase 0.5 132.03 ms/op 142.76 ms/op 0.92
altair processRewardsAndPenalties - 250000 normalcase 52.579 ms/op 56.113 ms/op 0.94
altair processRewardsAndPenalties - 250000 worstcase 51.562 ms/op 47.847 ms/op 1.08
phase0 getAttestationDeltas - 250000 normalcase 8.3262 ms/op 9.9321 ms/op 0.84
phase0 getAttestationDeltas - 250000 worstcase 8.1313 ms/op 8.5205 ms/op 0.95
phase0 processSlashings - 250000 worstcase 122.66 us/op 110.63 us/op 1.11
altair processSyncCommitteeUpdates - 250000 138.45 ms/op 140.86 ms/op 0.98
BeaconState.hashTreeRoot - No change 274.00 ns/op 246.00 ns/op 1.11
BeaconState.hashTreeRoot - 1 full validator 102.32 us/op 87.911 us/op 1.16
BeaconState.hashTreeRoot - 32 full validator 1.3693 ms/op 810.84 us/op 1.69
BeaconState.hashTreeRoot - 512 full validator 16.562 ms/op 9.6597 ms/op 1.71
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 105.50 us/op 113.24 us/op 0.93
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.6050 ms/op 1.3051 ms/op 1.23
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 23.632 ms/op 21.758 ms/op 1.09
BeaconState.hashTreeRoot - 1 balances 75.393 us/op 80.623 us/op 0.94
BeaconState.hashTreeRoot - 32 balances 1.1871 ms/op 995.38 us/op 1.19
BeaconState.hashTreeRoot - 512 balances 10.310 ms/op 8.7947 ms/op 1.17
BeaconState.hashTreeRoot - 250000 balances 189.99 ms/op 191.45 ms/op 0.99
aggregationBits - 2048 els - zipIndexesInBitList 25.178 us/op 24.977 us/op 1.01
byteArrayEquals 32 56.394 ns/op 56.358 ns/op 1.00
Buffer.compare 32 18.936 ns/op 17.970 ns/op 1.05
byteArrayEquals 1024 1.6736 us/op 1.7438 us/op 0.96
Buffer.compare 1024 27.300 ns/op 27.399 ns/op 1.00
byteArrayEquals 16384 26.566 us/op 27.114 us/op 0.98
Buffer.compare 16384 197.34 ns/op 217.42 ns/op 0.91
byteArrayEquals 123687377 212.69 ms/op 202.72 ms/op 1.05
Buffer.compare 123687377 19.024 ms/op 8.2920 ms/op 2.29
byteArrayEquals 32 - diff last byte 57.321 ns/op 55.003 ns/op 1.04
Buffer.compare 32 - diff last byte 28.293 ns/op 17.880 ns/op 1.58
byteArrayEquals 1024 - diff last byte 2.8374 us/op 1.6668 us/op 1.70
Buffer.compare 1024 - diff last byte 33.451 ns/op 26.856 ns/op 1.25
byteArrayEquals 16384 - diff last byte 28.155 us/op 26.250 us/op 1.07
Buffer.compare 16384 - diff last byte 216.22 ns/op 199.69 ns/op 1.08
byteArrayEquals 123687377 - diff last byte 214.82 ms/op 203.95 ms/op 1.05
Buffer.compare 123687377 - diff last byte 9.1539 ms/op 8.2566 ms/op 1.11
byteArrayEquals 32 - random bytes 5.4390 ns/op 5.3940 ns/op 1.01
Buffer.compare 32 - random bytes 19.750 ns/op 18.239 ns/op 1.08
byteArrayEquals 1024 - random bytes 6.8090 ns/op 5.4360 ns/op 1.25
Buffer.compare 1024 - random bytes 19.677 ns/op 17.779 ns/op 1.11
byteArrayEquals 16384 - random bytes 5.4200 ns/op 5.3260 ns/op 1.02
Buffer.compare 16384 - random bytes 19.929 ns/op 17.743 ns/op 1.12
byteArrayEquals 123687377 - random bytes 6.8700 ns/op 6.9600 ns/op 0.99
Buffer.compare 123687377 - random bytes 21.880 ns/op 20.670 ns/op 1.06
regular array get 100000 times 35.164 us/op 42.023 us/op 0.84
wrappedArray get 100000 times 51.471 us/op 45.797 us/op 1.12
arrayWithProxy get 100000 times 13.217 ms/op 13.478 ms/op 0.98
ssz.Root.equals 47.701 ns/op 48.495 ns/op 0.98
byteArrayEquals 46.793 ns/op 47.138 ns/op 0.99
Buffer.compare 10.940 ns/op 12.646 ns/op 0.87
processSlot - 1 slots 12.145 us/op 12.165 us/op 1.00
processSlot - 32 slots 3.4684 ms/op 2.8201 ms/op 1.23
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 58.816 ms/op 58.818 ms/op 1.00
getCommitteeAssignments - req 1 vs - 250000 vc 2.3568 ms/op 2.1948 ms/op 1.07
getCommitteeAssignments - req 100 vs - 250000 vc 4.6553 ms/op 4.3349 ms/op 1.07
getCommitteeAssignments - req 1000 vs - 250000 vc 4.6525 ms/op 4.6049 ms/op 1.01
findModifiedValidators - 10000 modified validators 819.07 ms/op 779.49 ms/op 1.05
findModifiedValidators - 1000 modified validators 826.47 ms/op 752.95 ms/op 1.10
findModifiedValidators - 100 modified validators 276.67 ms/op 301.44 ms/op 0.92
findModifiedValidators - 10 modified validators 194.46 ms/op 171.44 ms/op 1.13
findModifiedValidators - 1 modified validators 185.43 ms/op 211.88 ms/op 0.88
findModifiedValidators - no difference 170.38 ms/op 232.99 ms/op 0.73
compare ViewDUs 7.8394 s/op 7.2759 s/op 1.08
compare each validator Uint8Array 1.9893 s/op 1.7613 s/op 1.13
compare ViewDU to Uint8Array 1.4052 s/op 1.3775 s/op 1.02
migrate state 1000000 validators, 24 modified, 0 new 1.0855 s/op 940.16 ms/op 1.15
migrate state 1000000 validators, 1700 modified, 1000 new 1.3878 s/op 1.2646 s/op 1.10
migrate state 1000000 validators, 3400 modified, 2000 new 1.4604 s/op 1.4460 s/op 1.01
migrate state 1500000 validators, 24 modified, 0 new 966.51 ms/op 1.0060 s/op 0.96
migrate state 1500000 validators, 1700 modified, 1000 new 1.2187 s/op 1.1726 s/op 1.04
migrate state 1500000 validators, 3400 modified, 2000 new 1.5335 s/op 1.3958 s/op 1.10
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.8500 ns/op 4.2400 ns/op 1.14
state getBlockRootAtSlot - 250000 vs - 7PWei 570.84 ns/op 647.64 ns/op 0.88
computeProposers - vc 250000 9.8626 ms/op 8.6803 ms/op 1.14
computeEpochShuffling - vc 250000 46.371 ms/op 41.584 ms/op 1.12
getNextSyncCommittee - vc 250000 173.79 ms/op 125.47 ms/op 1.39
computeSigningRoot for AttestationData 26.133 us/op 25.866 us/op 1.01
hash AttestationData serialized data then Buffer.toString(base64) 1.6863 us/op 1.5265 us/op 1.10
toHexString serialized data 987.02 ns/op 1.0270 us/op 0.96
Buffer.toString(base64) 176.92 ns/op 157.09 ns/op 1.13
nodejs block root to RootHex using toHex 161.76 ns/op 151.95 ns/op 1.06
nodejs block root to RootHex using toRootHex 98.662 ns/op 89.253 ns/op 1.11
browser block root to RootHex using the deprecated toHexString 243.70 ns/op 216.94 ns/op 1.12
browser block root to RootHex using toHex 187.50 ns/op 169.57 ns/op 1.11
browser block root to RootHex using toRootHex 172.90 ns/op 157.79 ns/op 1.10

by benchmarkbot/action

@wemeetagain wemeetagain merged commit 92d77e3 into unstable Feb 11, 2025
20 of 21 checks passed
@wemeetagain wemeetagain deleted the cayman/revert2 branch February 11, 2025 21:34
@wemeetagain
Copy link
Member Author

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

2 participants