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: ssz 0.18.0 #7181

Merged
merged 1 commit into from
Oct 21, 2024
Merged

chore: ssz 0.18.0 #7181

merged 1 commit into from
Oct 21, 2024

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented Oct 21, 2024

Motivation

To prepare for EIP-4881 #4935

Description

Use latest ssz version 0.18.0

@twoeths twoeths requested a review from a team as a code owner October 21, 2024 07:07
Copy link

codecov bot commented Oct 21, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 49.18%. Comparing base (b1b5623) to head (79273b7).
Report is 3 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #7181   +/-   ##
=========================================
  Coverage     49.18%   49.18%           
=========================================
  Files           598      598           
  Lines         39770    39770           
  Branches       2092     2091    -1     
=========================================
+ Hits          19560    19561    +1     
+ Misses        20170    20169    -1     
  Partials         40       40           

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 609a71b Previous: b1b5623 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.8066 ms/op 1.7892 ms/op 1.01
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 40.635 us/op 38.001 us/op 1.07
BLS verify - blst 817.04 us/op 897.95 us/op 0.91
BLS verifyMultipleSignatures 3 - blst 1.4097 ms/op 1.3066 ms/op 1.08
BLS verifyMultipleSignatures 8 - blst 2.0544 ms/op 2.1210 ms/op 0.97
BLS verifyMultipleSignatures 32 - blst 4.5610 ms/op 4.4409 ms/op 1.03
BLS verifyMultipleSignatures 64 - blst 8.1545 ms/op 8.4126 ms/op 0.97
BLS verifyMultipleSignatures 128 - blst 15.538 ms/op 16.018 ms/op 0.97
BLS deserializing 10000 signatures 608.69 ms/op 620.40 ms/op 0.98
BLS deserializing 100000 signatures 6.0035 s/op 6.1995 s/op 0.97
BLS verifyMultipleSignatures - same message - 3 - blst 904.22 us/op 954.87 us/op 0.95
BLS verifyMultipleSignatures - same message - 8 - blst 1.0526 ms/op 1.0434 ms/op 1.01
BLS verifyMultipleSignatures - same message - 32 - blst 1.6313 ms/op 1.6406 ms/op 0.99
BLS verifyMultipleSignatures - same message - 64 - blst 2.4112 ms/op 2.4460 ms/op 0.99
BLS verifyMultipleSignatures - same message - 128 - blst 4.0291 ms/op 3.9680 ms/op 1.02
BLS aggregatePubkeys 32 - blst 17.593 us/op 18.021 us/op 0.98
BLS aggregatePubkeys 128 - blst 60.913 us/op 63.128 us/op 0.96
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 64.462 ms/op 59.430 ms/op 1.08
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 42.590 ms/op 42.433 ms/op 1.00
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 38.590 ms/op 36.511 ms/op 1.06
getSlashingsAndExits - default max 67.084 us/op 71.069 us/op 0.94
getSlashingsAndExits - 2k 256.73 us/op 216.37 us/op 1.19
proposeBlockBody type=full, size=empty 5.0772 ms/op 4.8571 ms/op 1.05
isKnown best case - 1 super set check 458.00 ns/op 464.00 ns/op 0.99
isKnown normal case - 2 super set checks 455.00 ns/op 456.00 ns/op 1.00
isKnown worse case - 16 super set checks 457.00 ns/op 457.00 ns/op 1.00
InMemoryCheckpointStateCache - add get delete 2.6750 us/op 2.6540 us/op 1.01
updateUnfinalizedPubkeys - updating 10 pubkeys 530.99 us/op 671.34 us/op 0.79
updateUnfinalizedPubkeys - updating 100 pubkeys 2.4801 ms/op 2.8378 ms/op 0.87
updateUnfinalizedPubkeys - updating 1000 pubkeys 37.346 ms/op 41.781 ms/op 0.89
validate api signedAggregateAndProof - struct 1.9607 ms/op 1.9415 ms/op 1.01
validate gossip signedAggregateAndProof - struct 1.9499 ms/op 1.9275 ms/op 1.01
batch validate gossip attestation - vc 640000 - chunk 32 120.24 us/op 118.83 us/op 1.01
batch validate gossip attestation - vc 640000 - chunk 64 97.699 us/op 105.00 us/op 0.93
batch validate gossip attestation - vc 640000 - chunk 128 99.642 us/op 96.760 us/op 1.03
batch validate gossip attestation - vc 640000 - chunk 256 95.429 us/op 94.103 us/op 1.01
pickEth1Vote - no votes 917.93 us/op 897.98 us/op 1.02
pickEth1Vote - max votes 4.3285 ms/op 5.4872 ms/op 0.79
pickEth1Vote - Eth1Data hashTreeRoot value x2048 9.8995 ms/op 13.959 ms/op 0.71
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 12.965 ms/op 19.537 ms/op 0.66
pickEth1Vote - Eth1Data fastSerialize value x2048 388.27 us/op 369.82 us/op 1.05
pickEth1Vote - Eth1Data fastSerialize tree x2048 1.9324 ms/op 3.1327 ms/op 0.62
bytes32 toHexString 571.00 ns/op 596.00 ns/op 0.96
bytes32 Buffer.toString(hex) 441.00 ns/op 417.00 ns/op 1.06
bytes32 Buffer.toString(hex) from Uint8Array 535.00 ns/op 521.00 ns/op 1.03
bytes32 Buffer.toString(hex) + 0x 447.00 ns/op 415.00 ns/op 1.08
Object access 1 prop 0.32000 ns/op 0.31600 ns/op 1.01
Map access 1 prop 0.32000 ns/op 0.31000 ns/op 1.03
Object get x1000 5.5110 ns/op 5.1900 ns/op 1.06
Map get x1000 5.9820 ns/op 5.7190 ns/op 1.05
Object set x1000 22.926 ns/op 24.969 ns/op 0.92
Map set x1000 18.976 ns/op 18.655 ns/op 1.02
Return object 10000 times 0.29280 ns/op 0.29570 ns/op 0.99
Throw Error 10000 times 2.6525 us/op 2.7222 us/op 0.97
toHex 116.49 ns/op 112.36 ns/op 1.04
Buffer.from 109.08 ns/op 104.28 ns/op 1.05
shared Buffer 73.372 ns/op 70.093 ns/op 1.05
fastMsgIdFn sha256 / 200 bytes 1.9580 us/op 1.9870 us/op 0.99
fastMsgIdFn h32 xxhash / 200 bytes 404.00 ns/op 392.00 ns/op 1.03
fastMsgIdFn h64 xxhash / 200 bytes 452.00 ns/op 431.00 ns/op 1.05
fastMsgIdFn sha256 / 1000 bytes 6.1390 us/op 5.9840 us/op 1.03
fastMsgIdFn h32 xxhash / 1000 bytes 591.00 ns/op 510.00 ns/op 1.16
fastMsgIdFn h64 xxhash / 1000 bytes 548.00 ns/op 496.00 ns/op 1.10
fastMsgIdFn sha256 / 10000 bytes 50.222 us/op 49.702 us/op 1.01
fastMsgIdFn h32 xxhash / 10000 bytes 1.9930 us/op 1.8870 us/op 1.06
fastMsgIdFn h64 xxhash / 10000 bytes 1.3480 us/op 1.3210 us/op 1.02
send data - 1000 256B messages 9.6534 ms/op 9.9779 ms/op 0.97
send data - 1000 512B messages 13.272 ms/op 12.941 ms/op 1.03
send data - 1000 1024B messages 21.896 ms/op 22.195 ms/op 0.99
send data - 1000 1200B messages 26.071 ms/op 23.191 ms/op 1.12
send data - 1000 2048B messages 31.009 ms/op 29.239 ms/op 1.06
send data - 1000 4096B messages 30.352 ms/op 26.728 ms/op 1.14
send data - 1000 16384B messages 65.626 ms/op 63.943 ms/op 1.03
send data - 1000 65536B messages 260.83 ms/op 242.63 ms/op 1.08
enrSubnets - fastDeserialize 64 bits 1.3830 us/op 1.1160 us/op 1.24
enrSubnets - ssz BitVector 64 bits 620.00 ns/op 502.00 ns/op 1.24
enrSubnets - fastDeserialize 4 bits 398.00 ns/op 320.00 ns/op 1.24
enrSubnets - ssz BitVector 4 bits 607.00 ns/op 504.00 ns/op 1.20
prioritizePeers score -10:0 att 32-0.1 sync 2-0 132.19 us/op 128.36 us/op 1.03
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 144.22 us/op 163.57 us/op 0.88
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 258.69 us/op 235.03 us/op 1.10
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 495.20 us/op 419.09 us/op 1.18
prioritizePeers score 0:0 att 64-1 sync 4-1 907.83 us/op 632.54 us/op 1.44
array of 16000 items push then shift 1.3007 us/op 1.2914 us/op 1.01
LinkedList of 16000 items push then shift 8.2580 ns/op 6.3210 ns/op 1.31
array of 16000 items push then pop 133.09 ns/op 78.839 ns/op 1.69
LinkedList of 16000 items push then pop 6.8220 ns/op 6.2430 ns/op 1.09
array of 24000 items push then shift 1.8831 us/op 1.8947 us/op 0.99
LinkedList of 24000 items push then shift 7.6250 ns/op 6.4570 ns/op 1.18
array of 24000 items push then pop 169.79 ns/op 109.00 ns/op 1.56
LinkedList of 24000 items push then pop 6.3840 ns/op 6.4130 ns/op 1.00
intersect bitArray bitLen 8 5.4900 ns/op 5.5110 ns/op 1.00
intersect array and set length 8 42.709 ns/op 40.070 ns/op 1.07
intersect bitArray bitLen 128 25.763 ns/op 26.518 ns/op 0.97
intersect array and set length 128 737.31 ns/op 591.45 ns/op 1.25
bitArray.getTrueBitIndexes() bitLen 128 2.6580 us/op 2.2770 us/op 1.17
bitArray.getTrueBitIndexes() bitLen 248 3.6690 us/op 4.0680 us/op 0.90
bitArray.getTrueBitIndexes() bitLen 512 7.7670 us/op 6.6840 us/op 1.16
Buffer.concat 32 items 1.0600 us/op 998.00 ns/op 1.06
Uint8Array.set 32 items 1.8270 us/op 1.7230 us/op 1.06
Buffer.copy 2.0210 us/op 2.0950 us/op 0.96
Uint8Array.set - with subarray 2.9030 us/op 2.7110 us/op 1.07
Uint8Array.set - without subarray 1.8500 us/op 1.9500 us/op 0.95
getUint32 - dataview 486.00 ns/op 392.00 ns/op 1.24
getUint32 - manual 405.00 ns/op 336.00 ns/op 1.21
Set add up to 64 items then delete first 1.9097 us/op 1.8394 us/op 1.04
OrderedSet add up to 64 items then delete first 3.1931 us/op 2.8008 us/op 1.14
Set add up to 64 items then delete last 2.0929 us/op 2.0570 us/op 1.02
OrderedSet add up to 64 items then delete last 3.1870 us/op 3.0916 us/op 1.03
Set add up to 64 items then delete middle 2.1949 us/op 2.0469 us/op 1.07
OrderedSet add up to 64 items then delete middle 4.7556 us/op 4.4776 us/op 1.06
Set add up to 128 items then delete first 3.9988 us/op 4.0651 us/op 0.98
OrderedSet add up to 128 items then delete first 6.2810 us/op 6.3123 us/op 1.00
Set add up to 128 items then delete last 3.9283 us/op 3.9209 us/op 1.00
OrderedSet add up to 128 items then delete last 6.1891 us/op 5.9555 us/op 1.04
Set add up to 128 items then delete middle 4.1102 us/op 3.9158 us/op 1.05
OrderedSet add up to 128 items then delete middle 13.422 us/op 11.872 us/op 1.13
Set add up to 256 items then delete first 7.8172 us/op 7.9374 us/op 0.98
OrderedSet add up to 256 items then delete first 12.576 us/op 12.529 us/op 1.00
Set add up to 256 items then delete last 7.8970 us/op 7.7124 us/op 1.02
OrderedSet add up to 256 items then delete last 12.179 us/op 11.843 us/op 1.03
Set add up to 256 items then delete middle 8.2197 us/op 7.6752 us/op 1.07
OrderedSet add up to 256 items then delete middle 34.156 us/op 34.389 us/op 0.99
transfer serialized Status (84 B) 1.4180 us/op 1.4230 us/op 1.00
copy serialized Status (84 B) 1.3780 us/op 1.2080 us/op 1.14
transfer serialized SignedVoluntaryExit (112 B) 1.5650 us/op 1.6160 us/op 0.97
copy serialized SignedVoluntaryExit (112 B) 1.3240 us/op 1.3960 us/op 0.95
transfer serialized ProposerSlashing (416 B) 1.7140 us/op 2.5440 us/op 0.67
copy serialized ProposerSlashing (416 B) 1.3690 us/op 2.5270 us/op 0.54
transfer serialized Attestation (485 B) 1.5640 us/op 2.4570 us/op 0.64
copy serialized Attestation (485 B) 1.3080 us/op 1.9920 us/op 0.66
transfer serialized AttesterSlashing (33232 B) 1.8200 us/op 1.7470 us/op 1.04
copy serialized AttesterSlashing (33232 B) 3.5130 us/op 4.5030 us/op 0.78
transfer serialized Small SignedBeaconBlock (128000 B) 2.3370 us/op 2.4650 us/op 0.95
copy serialized Small SignedBeaconBlock (128000 B) 9.4090 us/op 14.637 us/op 0.64
transfer serialized Avg SignedBeaconBlock (200000 B) 2.0150 us/op 2.2800 us/op 0.88
copy serialized Avg SignedBeaconBlock (200000 B) 12.382 us/op 12.804 us/op 0.97
transfer serialized BlobsSidecar (524380 B) 2.4230 us/op 2.2020 us/op 1.10
copy serialized BlobsSidecar (524380 B) 103.17 us/op 72.196 us/op 1.43
transfer serialized Big SignedBeaconBlock (1000000 B) 2.6070 us/op 2.9230 us/op 0.89
copy serialized Big SignedBeaconBlock (1000000 B) 223.12 us/op 141.16 us/op 1.58
pass gossip attestations to forkchoice per slot 2.5638 ms/op 2.4131 ms/op 1.06
forkChoice updateHead vc 100000 bc 64 eq 0 403.15 us/op 413.81 us/op 0.97
forkChoice updateHead vc 600000 bc 64 eq 0 2.3421 ms/op 2.4721 ms/op 0.95
forkChoice updateHead vc 1000000 bc 64 eq 0 3.8616 ms/op 3.9789 ms/op 0.97
forkChoice updateHead vc 600000 bc 320 eq 0 2.3345 ms/op 2.3967 ms/op 0.97
forkChoice updateHead vc 600000 bc 1200 eq 0 2.4385 ms/op 2.4955 ms/op 0.98
forkChoice updateHead vc 600000 bc 7200 eq 0 2.8393 ms/op 2.6407 ms/op 1.08
forkChoice updateHead vc 600000 bc 64 eq 1000 9.3235 ms/op 9.3567 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 10000 9.3234 ms/op 8.5536 ms/op 1.09
forkChoice updateHead vc 600000 bc 64 eq 300000 11.131 ms/op 11.244 ms/op 0.99
computeDeltas 500000 validators 300 proto nodes 3.4112 ms/op 3.1677 ms/op 1.08
computeDeltas 500000 validators 1200 proto nodes 3.3800 ms/op 3.1904 ms/op 1.06
computeDeltas 500000 validators 7200 proto nodes 3.3718 ms/op 3.2121 ms/op 1.05
computeDeltas 750000 validators 300 proto nodes 5.3169 ms/op 4.8394 ms/op 1.10
computeDeltas 750000 validators 1200 proto nodes 5.2133 ms/op 4.7684 ms/op 1.09
computeDeltas 750000 validators 7200 proto nodes 5.4770 ms/op 4.8081 ms/op 1.14
computeDeltas 1400000 validators 300 proto nodes 9.2863 ms/op 8.9304 ms/op 1.04
computeDeltas 1400000 validators 1200 proto nodes 9.3019 ms/op 8.8296 ms/op 1.05
computeDeltas 1400000 validators 7200 proto nodes 9.7377 ms/op 8.8853 ms/op 1.10
computeDeltas 2100000 validators 300 proto nodes 14.293 ms/op 13.376 ms/op 1.07
computeDeltas 2100000 validators 1200 proto nodes 14.107 ms/op 13.754 ms/op 1.03
computeDeltas 2100000 validators 7200 proto nodes 13.867 ms/op 13.486 ms/op 1.03
altair processAttestation - 250000 vs - 7PWei normalcase 1.4022 ms/op 1.4000 ms/op 1.00
altair processAttestation - 250000 vs - 7PWei worstcase 2.0708 ms/op 2.1208 ms/op 0.98
altair processAttestation - setStatus - 1/6 committees join 64.297 us/op 65.442 us/op 0.98
altair processAttestation - setStatus - 1/3 committees join 132.84 us/op 124.12 us/op 1.07
altair processAttestation - setStatus - 1/2 committees join 190.63 us/op 187.76 us/op 1.02
altair processAttestation - setStatus - 2/3 committees join 265.22 us/op 259.04 us/op 1.02
altair processAttestation - setStatus - 4/5 committees join 387.40 us/op 374.88 us/op 1.03
altair processAttestation - setStatus - 100% committees join 465.71 us/op 447.16 us/op 1.04
altair processBlock - 250000 vs - 7PWei normalcase 3.2005 ms/op 4.5155 ms/op 0.71
altair processBlock - 250000 vs - 7PWei normalcase hashState 27.530 ms/op 24.202 ms/op 1.14
altair processBlock - 250000 vs - 7PWei worstcase 35.036 ms/op 35.969 ms/op 0.97
altair processBlock - 250000 vs - 7PWei worstcase hashState 73.448 ms/op 71.303 ms/op 1.03
phase0 processBlock - 250000 vs - 7PWei normalcase 1.6642 ms/op 1.7882 ms/op 0.93
phase0 processBlock - 250000 vs - 7PWei worstcase 21.928 ms/op 22.245 ms/op 0.99
altair processEth1Data - 250000 vs - 7PWei normalcase 237.75 us/op 255.19 us/op 0.93
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 4.4560 us/op 2.8770 us/op 1.55
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 29.297 us/op 34.094 us/op 0.86
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 4.6800 us/op 8.5090 us/op 0.55
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 6.4300 us/op 7.4350 us/op 0.86
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 134.22 us/op 121.00 us/op 1.11
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 859.33 us/op 782.92 us/op 1.10
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.1971 ms/op 1.1485 ms/op 1.04
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.1251 ms/op 1.1325 ms/op 0.99
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.9820 ms/op 2.9111 ms/op 1.02
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.1939 ms/op 1.0950 ms/op 1.09
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 2.8722 ms/op 2.7518 ms/op 1.04
Tree 40 250000 create 180.83 ms/op 193.12 ms/op 0.94
Tree 40 250000 get(125000) 103.98 ns/op 106.02 ns/op 0.98
Tree 40 250000 set(125000) 522.38 ns/op 512.41 ns/op 1.02
Tree 40 250000 toArray() 13.086 ms/op 12.326 ms/op 1.06
Tree 40 250000 iterate all - toArray() + loop 11.211 ms/op 12.212 ms/op 0.92
Tree 40 250000 iterate all - get(i) 39.026 ms/op 39.589 ms/op 0.99
Array 250000 create 2.2690 ms/op 2.3432 ms/op 0.97
Array 250000 clone - spread 1.2923 ms/op 1.1788 ms/op 1.10
Array 250000 get(125000) 0.57500 ns/op 0.57100 ns/op 1.01
Array 250000 set(125000) 0.57800 ns/op 0.56700 ns/op 1.02
Array 250000 iterate all - loop 74.979 us/op 73.694 us/op 1.02
phase0 afterProcessEpoch - 250000 vs - 7PWei 40.975 ms/op 41.668 ms/op 0.98
Array.fill - length 1000000 2.5425 ms/op 2.4310 ms/op 1.05
Array push - length 1000000 14.193 ms/op 13.833 ms/op 1.03
Array.get 0.25404 ns/op 0.26495 ns/op 0.96
Uint8Array.get 0.33432 ns/op 0.34188 ns/op 0.98
phase0 beforeProcessEpoch - 250000 vs - 7PWei 12.360 ms/op 12.722 ms/op 0.97
altair processEpoch - mainnet_e81889 257.42 ms/op 250.36 ms/op 1.03
mainnet_e81889 - altair beforeProcessEpoch 15.932 ms/op 18.590 ms/op 0.86
mainnet_e81889 - altair processJustificationAndFinalization 6.1430 us/op 10.911 us/op 0.56
mainnet_e81889 - altair processInactivityUpdates 3.9003 ms/op 4.2832 ms/op 0.91
mainnet_e81889 - altair processRewardsAndPenalties 54.599 ms/op 49.946 ms/op 1.09
mainnet_e81889 - altair processRegistryUpdates 1.7250 us/op 2.0480 us/op 0.84
mainnet_e81889 - altair processSlashings 742.00 ns/op 777.00 ns/op 0.95
mainnet_e81889 - altair processEth1DataReset 728.00 ns/op 683.00 ns/op 1.07
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.0496 ms/op 965.01 us/op 1.09
mainnet_e81889 - altair processSlashingsReset 2.1460 us/op 1.5170 us/op 1.41
mainnet_e81889 - altair processRandaoMixesReset 2.8040 us/op 3.2270 us/op 0.87
mainnet_e81889 - altair processHistoricalRootsUpdate 694.00 ns/op 707.00 ns/op 0.98
mainnet_e81889 - altair processParticipationFlagUpdates 2.1350 us/op 3.2010 us/op 0.67
mainnet_e81889 - altair processSyncCommitteeUpdates 761.00 ns/op 775.00 ns/op 0.98
mainnet_e81889 - altair afterProcessEpoch 42.241 ms/op 40.709 ms/op 1.04
capella processEpoch - mainnet_e217614 997.16 ms/op 1.0117 s/op 0.99
mainnet_e217614 - capella beforeProcessEpoch 66.465 ms/op 64.863 ms/op 1.02
mainnet_e217614 - capella processJustificationAndFinalization 12.324 us/op 13.019 us/op 0.95
mainnet_e217614 - capella processInactivityUpdates 15.188 ms/op 14.913 ms/op 1.02
mainnet_e217614 - capella processRewardsAndPenalties 227.41 ms/op 258.02 ms/op 0.88
mainnet_e217614 - capella processRegistryUpdates 12.308 us/op 12.298 us/op 1.00
mainnet_e217614 - capella processSlashings 714.00 ns/op 752.00 ns/op 0.95
mainnet_e217614 - capella processEth1DataReset 662.00 ns/op 715.00 ns/op 0.93
mainnet_e217614 - capella processEffectiveBalanceUpdates 5.4969 ms/op 5.8999 ms/op 0.93
mainnet_e217614 - capella processSlashingsReset 2.4120 us/op 2.0570 us/op 1.17
mainnet_e217614 - capella processRandaoMixesReset 3.5480 us/op 3.3180 us/op 1.07
mainnet_e217614 - capella processHistoricalRootsUpdate 690.00 ns/op 702.00 ns/op 0.98
mainnet_e217614 - capella processParticipationFlagUpdates 1.2880 us/op 1.7520 us/op 0.74
mainnet_e217614 - capella afterProcessEpoch 101.37 ms/op 101.24 ms/op 1.00
phase0 processEpoch - mainnet_e58758 235.77 ms/op 295.35 ms/op 0.80
mainnet_e58758 - phase0 beforeProcessEpoch 66.460 ms/op 79.572 ms/op 0.84
mainnet_e58758 - phase0 processJustificationAndFinalization 10.589 us/op 11.225 us/op 0.94
mainnet_e58758 - phase0 processRewardsAndPenalties 23.274 ms/op 26.864 ms/op 0.87
mainnet_e58758 - phase0 processRegistryUpdates 5.7030 us/op 3.6130 us/op 1.58
mainnet_e58758 - phase0 processSlashings 714.00 ns/op 722.00 ns/op 0.99
mainnet_e58758 - phase0 processEth1DataReset 684.00 ns/op 727.00 ns/op 0.94
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.3892 ms/op 1.9703 ms/op 0.71
mainnet_e58758 - phase0 processSlashingsReset 2.0820 us/op 2.9830 us/op 0.70
mainnet_e58758 - phase0 processRandaoMixesReset 3.2080 us/op 2.9400 us/op 1.09
mainnet_e58758 - phase0 processHistoricalRootsUpdate 698.00 ns/op 701.00 ns/op 1.00
mainnet_e58758 - phase0 processParticipationRecordUpdates 2.9640 us/op 2.6000 us/op 1.14
mainnet_e58758 - phase0 afterProcessEpoch 35.680 ms/op 35.903 ms/op 0.99
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0109 ms/op 1.0369 ms/op 0.97
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5482 ms/op 1.7230 ms/op 0.90
altair processInactivityUpdates - 250000 normalcase 16.477 ms/op 15.267 ms/op 1.08
altair processInactivityUpdates - 250000 worstcase 16.314 ms/op 17.056 ms/op 0.96
phase0 processRegistryUpdates - 250000 normalcase 5.1470 us/op 3.2820 us/op 1.57
phase0 processRegistryUpdates - 250000 badcase_full_deposits 304.13 us/op 297.02 us/op 1.02
phase0 processRegistryUpdates - 250000 worstcase 0.5 111.55 ms/op 108.53 ms/op 1.03
altair processRewardsAndPenalties - 250000 normalcase 40.782 ms/op 31.691 ms/op 1.29
altair processRewardsAndPenalties - 250000 worstcase 29.763 ms/op 39.978 ms/op 0.74
phase0 getAttestationDeltas - 250000 normalcase 8.2497 ms/op 6.2172 ms/op 1.33
phase0 getAttestationDeltas - 250000 worstcase 6.6395 ms/op 5.8980 ms/op 1.13
phase0 processSlashings - 250000 worstcase 94.258 us/op 81.700 us/op 1.15
altair processSyncCommitteeUpdates - 250000 105.00 ms/op 97.478 ms/op 1.08
BeaconState.hashTreeRoot - No change 441.00 ns/op 430.00 ns/op 1.03
BeaconState.hashTreeRoot - 1 full validator 111.25 us/op 127.77 us/op 0.87
BeaconState.hashTreeRoot - 32 full validator 1.3778 ms/op 1.1153 ms/op 1.24
BeaconState.hashTreeRoot - 512 full validator 12.149 ms/op 10.137 ms/op 1.20
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 158.18 us/op 155.14 us/op 1.02
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.3249 ms/op 1.9751 ms/op 1.18
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 25.618 ms/op 23.000 ms/op 1.11
BeaconState.hashTreeRoot - 1 balances 112.96 us/op 108.66 us/op 1.04
BeaconState.hashTreeRoot - 32 balances 1.0764 ms/op 943.98 us/op 1.14
BeaconState.hashTreeRoot - 512 balances 7.7315 ms/op 7.3682 ms/op 1.05
BeaconState.hashTreeRoot - 250000 balances 184.29 ms/op 185.91 ms/op 0.99
aggregationBits - 2048 els - zipIndexesInBitList 20.636 us/op 19.124 us/op 1.08
byteArrayEquals 32 47.659 ns/op 47.882 ns/op 1.00
Buffer.compare 32 16.399 ns/op 15.530 ns/op 1.06
byteArrayEquals 1024 1.2491 us/op 1.2700 us/op 0.98
Buffer.compare 1024 23.438 ns/op 24.139 ns/op 0.97
byteArrayEquals 16384 19.882 us/op 20.157 us/op 0.99
Buffer.compare 16384 193.94 ns/op 173.16 ns/op 1.12
byteArrayEquals 123687377 144.24 ms/op 151.83 ms/op 0.95
Buffer.compare 123687377 4.3162 ms/op 3.6907 ms/op 1.17
byteArrayEquals 32 - diff last byte 46.023 ns/op 47.473 ns/op 0.97
Buffer.compare 32 - diff last byte 16.308 ns/op 15.900 ns/op 1.03
byteArrayEquals 1024 - diff last byte 1.2437 us/op 1.2604 us/op 0.99
Buffer.compare 1024 - diff last byte 23.412 ns/op 24.398 ns/op 0.96
byteArrayEquals 16384 - diff last byte 19.701 us/op 20.010 us/op 0.98
Buffer.compare 16384 - diff last byte 196.92 ns/op 202.72 ns/op 0.97
byteArrayEquals 123687377 - diff last byte 145.87 ms/op 151.72 ms/op 0.96
Buffer.compare 123687377 - diff last byte 5.4117 ms/op 3.9692 ms/op 1.36
byteArrayEquals 32 - random bytes 4.5660 ns/op 4.9650 ns/op 0.92
Buffer.compare 32 - random bytes 14.707 ns/op 16.112 ns/op 0.91
byteArrayEquals 1024 - random bytes 4.5760 ns/op 4.8980 ns/op 0.93
Buffer.compare 1024 - random bytes 14.318 ns/op 15.993 ns/op 0.90
byteArrayEquals 16384 - random bytes 4.5180 ns/op 4.9160 ns/op 0.92
Buffer.compare 16384 - random bytes 14.313 ns/op 16.029 ns/op 0.89
byteArrayEquals 123687377 - random bytes 7.2600 ns/op 7.8400 ns/op 0.93
Buffer.compare 123687377 - random bytes 16.980 ns/op 19.510 ns/op 0.87
regular array get 100000 times 28.339 us/op 31.174 us/op 0.91
wrappedArray get 100000 times 28.538 us/op 31.155 us/op 0.92
arrayWithProxy get 100000 times 10.156 ms/op 11.095 ms/op 0.92
ssz.Root.equals 41.697 ns/op 48.185 ns/op 0.87
byteArrayEquals 41.041 ns/op 39.369 ns/op 1.04
Buffer.compare 9.5280 ns/op 9.3560 ns/op 1.02
processSlot - 1 slots 13.786 us/op 12.915 us/op 1.07
processSlot - 32 slots 2.9779 ms/op 1.7861 ms/op 1.67
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 32.145 ms/op 37.476 ms/op 0.86
getCommitteeAssignments - req 1 vs - 250000 vc 1.8105 ms/op 1.7676 ms/op 1.02
getCommitteeAssignments - req 100 vs - 250000 vc 3.6072 ms/op 3.5007 ms/op 1.03
getCommitteeAssignments - req 1000 vs - 250000 vc 3.7641 ms/op 3.7226 ms/op 1.01
findModifiedValidators - 10000 modified validators 286.45 ms/op 237.91 ms/op 1.20
findModifiedValidators - 1000 modified validators 195.26 ms/op 157.89 ms/op 1.24
findModifiedValidators - 100 modified validators 220.79 ms/op 140.78 ms/op 1.57
findModifiedValidators - 10 modified validators 218.02 ms/op 141.70 ms/op 1.54
findModifiedValidators - 1 modified validators 231.68 ms/op 142.92 ms/op 1.62
findModifiedValidators - no difference 237.18 ms/op 132.64 ms/op 1.79
compare ViewDUs 3.8315 s/op 3.0401 s/op 1.26
compare each validator Uint8Array 1.5363 s/op 1.7336 s/op 0.89
compare ViewDU to Uint8Array 1.0579 s/op 702.13 ms/op 1.51
migrate state 1000000 validators, 24 modified, 0 new 722.96 ms/op 706.10 ms/op 1.02
migrate state 1000000 validators, 1700 modified, 1000 new 962.93 ms/op 965.47 ms/op 1.00
migrate state 1000000 validators, 3400 modified, 2000 new 1.1103 s/op 1.1850 s/op 0.94
migrate state 1500000 validators, 24 modified, 0 new 688.05 ms/op 746.29 ms/op 0.92
migrate state 1500000 validators, 1700 modified, 1000 new 872.61 ms/op 962.47 ms/op 0.91
migrate state 1500000 validators, 3400 modified, 2000 new 1.1445 s/op 1.1736 s/op 0.98
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.8300 ns/op 5.8100 ns/op 1.00
state getBlockRootAtSlot - 250000 vs - 7PWei 871.87 ns/op 1.0510 us/op 0.83
computeProposers - vc 250000 5.9476 ms/op 6.6653 ms/op 0.89
computeEpochShuffling - vc 250000 33.419 ms/op 35.751 ms/op 0.93
getNextSyncCommittee - vc 250000 100.47 ms/op 116.53 ms/op 0.86
computeSigningRoot for AttestationData 21.472 us/op 30.032 us/op 0.71
hash AttestationData serialized data then Buffer.toString(base64) 1.1495 us/op 1.2067 us/op 0.95
toHexString serialized data 777.61 ns/op 793.75 ns/op 0.98
Buffer.toString(base64) 140.12 ns/op 145.47 ns/op 0.96
nodejs block root to RootHex using toHex 128.45 ns/op 120.73 ns/op 1.06
nodejs block root to RootHex using toRootHex 78.173 ns/op 80.469 ns/op 0.97
browser block root to RootHex using the deprecated toHexString 211.70 ns/op 205.33 ns/op 1.03
browser block root to RootHex using toHex 170.79 ns/op 167.44 ns/op 1.02
browser block root to RootHex using toRootHex 149.06 ns/op 145.14 ns/op 1.03

by benchmarkbot/action

@wemeetagain wemeetagain merged commit e01142b into unstable Oct 21, 2024
20 checks passed
@wemeetagain wemeetagain deleted the te/ssz_0.18.0 branch October 21, 2024 13:49
@wemeetagain
Copy link
Member

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