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: bump @chainsafe/fast-crc32c #7406

Merged
merged 1 commit into from
Jan 31, 2025
Merged

chore: bump @chainsafe/fast-crc32c #7406

merged 1 commit into from
Jan 31, 2025

Conversation

wemeetagain
Copy link
Member

Motivation

  • the dependency we use (@node-rs/crc32) was very out of date and still relied explicitly on Buffer rather than allowing Uint8Array.

Description

  • bump dependency version to latest

@wemeetagain wemeetagain requested a review from a team as a code owner January 27, 2025 16:09
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 4261bb6 Previous: cf23839 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.6975 ms/op 1.8832 ms/op 0.90
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 53.830 us/op 72.092 us/op 0.75
BLS verify - blst 872.10 us/op 1.0572 ms/op 0.82
BLS verifyMultipleSignatures 3 - blst 1.3445 ms/op 1.5013 ms/op 0.90
BLS verifyMultipleSignatures 8 - blst 2.1757 ms/op 2.2984 ms/op 0.95
BLS verifyMultipleSignatures 32 - blst 4.5653 ms/op 5.5450 ms/op 0.82
BLS verifyMultipleSignatures 64 - blst 9.4787 ms/op 10.678 ms/op 0.89
BLS verifyMultipleSignatures 128 - blst 16.391 ms/op 23.000 ms/op 0.71
BLS deserializing 10000 signatures 641.28 ms/op 747.06 ms/op 0.86
BLS deserializing 100000 signatures 6.2291 s/op 7.8820 s/op 0.79
BLS verifyMultipleSignatures - same message - 3 - blst 941.76 us/op 1.1294 ms/op 0.83
BLS verifyMultipleSignatures - same message - 8 - blst 1.0770 ms/op 1.2279 ms/op 0.88
BLS verifyMultipleSignatures - same message - 32 - blst 1.7165 ms/op 2.0489 ms/op 0.84
BLS verifyMultipleSignatures - same message - 64 - blst 2.5137 ms/op 3.0749 ms/op 0.82
BLS verifyMultipleSignatures - same message - 128 - blst 4.1405 ms/op 5.2355 ms/op 0.79
BLS aggregatePubkeys 32 - blst 18.002 us/op 23.398 us/op 0.77
BLS aggregatePubkeys 128 - blst 63.005 us/op 81.670 us/op 0.77
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 46.248 ms/op 132.94 ms/op 0.35
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 42.962 ms/op 74.609 ms/op 0.58
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 40.936 ms/op 52.359 ms/op 0.78
getSlashingsAndExits - default max 68.383 us/op 159.29 us/op 0.43
getSlashingsAndExits - 2k 404.82 us/op 499.75 us/op 0.81
proposeBlockBody type=full, size=empty 5.0425 ms/op 7.5142 ms/op 0.67
isKnown best case - 1 super set check 465.00 ns/op 782.00 ns/op 0.59
isKnown normal case - 2 super set checks 478.00 ns/op 681.00 ns/op 0.70
isKnown worse case - 16 super set checks 473.00 ns/op 660.00 ns/op 0.72
InMemoryCheckpointStateCache - add get delete 4.0570 us/op 5.4080 us/op 0.75
validate api signedAggregateAndProof - struct 1.6069 ms/op 1.6938 ms/op 0.95
validate gossip signedAggregateAndProof - struct 1.5133 ms/op 1.5866 ms/op 0.95
batch validate gossip attestation - vc 640000 - chunk 32 131.88 us/op 160.76 us/op 0.82
batch validate gossip attestation - vc 640000 - chunk 64 118.77 us/op 144.27 us/op 0.82
batch validate gossip attestation - vc 640000 - chunk 128 108.38 us/op 128.32 us/op 0.84
batch validate gossip attestation - vc 640000 - chunk 256 104.06 us/op 129.79 us/op 0.80
pickEth1Vote - no votes 838.10 us/op 1.3818 ms/op 0.61
pickEth1Vote - max votes 4.5253 ms/op 8.7810 ms/op 0.52
pickEth1Vote - Eth1Data hashTreeRoot value x2048 14.684 ms/op 17.443 ms/op 0.84
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 23.025 ms/op 25.492 ms/op 0.90
pickEth1Vote - Eth1Data fastSerialize value x2048 393.71 us/op 641.78 us/op 0.61
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.9549 ms/op 4.7575 ms/op 0.83
bytes32 toHexString 602.00 ns/op 646.00 ns/op 0.93
bytes32 Buffer.toString(hex) 467.00 ns/op 275.00 ns/op 1.70
bytes32 Buffer.toString(hex) from Uint8Array 562.00 ns/op 493.00 ns/op 1.14
bytes32 Buffer.toString(hex) + 0x 463.00 ns/op 272.00 ns/op 1.70
Object access 1 prop 0.33000 ns/op 0.15900 ns/op 2.08
Map access 1 prop 0.31700 ns/op 0.14300 ns/op 2.22
Object get x1000 5.1610 ns/op 6.2930 ns/op 0.82
Map get x1000 6.0820 ns/op 7.2460 ns/op 0.84
Object set x1000 22.426 ns/op 50.961 ns/op 0.44
Map set x1000 19.260 ns/op 37.018 ns/op 0.52
Return object 10000 times 0.30260 ns/op 0.32990 ns/op 0.92
Throw Error 10000 times 2.8048 us/op 3.6725 us/op 0.76
toHex 111.31 ns/op 185.29 ns/op 0.60
Buffer.from 112.41 ns/op 172.29 ns/op 0.65
shared Buffer 74.622 ns/op 99.381 ns/op 0.75
fastMsgIdFn sha256 / 200 bytes 2.0330 us/op 2.5080 us/op 0.81
fastMsgIdFn h32 xxhash / 200 bytes 403.00 ns/op 296.00 ns/op 1.36
fastMsgIdFn h64 xxhash / 200 bytes 583.00 ns/op 315.00 ns/op 1.85
fastMsgIdFn sha256 / 1000 bytes 5.9730 us/op 8.2370 us/op 0.73
fastMsgIdFn h32 xxhash / 1000 bytes 561.00 ns/op 444.00 ns/op 1.26
fastMsgIdFn h64 xxhash / 1000 bytes 542.00 ns/op 386.00 ns/op 1.40
fastMsgIdFn sha256 / 10000 bytes 51.389 us/op 70.619 us/op 0.73
fastMsgIdFn h32 xxhash / 10000 bytes 1.9740 us/op 2.0460 us/op 0.96
fastMsgIdFn h64 xxhash / 10000 bytes 1.4150 us/op 1.3340 us/op 1.06
send data - 1000 256B messages 9.7480 ms/op 14.012 ms/op 0.70
send data - 1000 512B messages 14.032 ms/op 19.051 ms/op 0.74
send data - 1000 1024B messages 25.034 ms/op 29.130 ms/op 0.86
send data - 1000 1200B messages 22.342 ms/op 21.317 ms/op 1.05
send data - 1000 2048B messages 28.687 ms/op 36.590 ms/op 0.78
send data - 1000 4096B messages 31.945 ms/op 36.171 ms/op 0.88
send data - 1000 16384B messages 73.218 ms/op 82.455 ms/op 0.89
send data - 1000 65536B messages 266.39 ms/op 288.63 ms/op 0.92
enrSubnets - fastDeserialize 64 bits 1.1790 us/op 1.6450 us/op 0.72
enrSubnets - ssz BitVector 64 bits 552.00 ns/op 485.00 ns/op 1.14
enrSubnets - fastDeserialize 4 bits 376.00 ns/op 203.00 ns/op 1.85
enrSubnets - ssz BitVector 4 bits 618.00 ns/op 516.00 ns/op 1.20
prioritizePeers score -10:0 att 32-0.1 sync 2-0 116.01 us/op 200.29 us/op 0.58
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 144.73 us/op 255.20 us/op 0.57
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 250.28 us/op 358.28 us/op 0.70
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 466.85 us/op 585.47 us/op 0.80
prioritizePeers score 0:0 att 64-1 sync 4-1 503.28 us/op 770.13 us/op 0.65
array of 16000 items push then shift 1.2773 us/op 1.8182 us/op 0.70
LinkedList of 16000 items push then shift 6.4050 ns/op 9.3550 ns/op 0.68
array of 16000 items push then pop 80.231 ns/op 143.66 ns/op 0.56
LinkedList of 16000 items push then pop 6.2670 ns/op 8.9160 ns/op 0.70
array of 24000 items push then shift 1.9135 us/op 3.0172 us/op 0.63
LinkedList of 24000 items push then shift 6.5770 ns/op 9.7100 ns/op 0.68
array of 24000 items push then pop 128.72 ns/op 199.61 ns/op 0.64
LinkedList of 24000 items push then pop 6.2620 ns/op 8.0690 ns/op 0.78
intersect bitArray bitLen 8 5.7580 ns/op 6.9310 ns/op 0.83
intersect array and set length 8 39.819 ns/op 58.274 ns/op 0.68
intersect bitArray bitLen 128 26.813 ns/op 32.632 ns/op 0.82
intersect array and set length 128 574.92 ns/op 788.46 ns/op 0.73
bitArray.getTrueBitIndexes() bitLen 128 1.2890 us/op 1.7500 us/op 0.74
bitArray.getTrueBitIndexes() bitLen 248 2.4090 us/op 2.7580 us/op 0.87
bitArray.getTrueBitIndexes() bitLen 512 4.4960 us/op 6.6460 us/op 0.68
Buffer.concat 32 items 885.00 ns/op 937.00 ns/op 0.94
Uint8Array.set 32 items 1.8460 us/op 1.5250 us/op 1.21
Buffer.copy 2.7950 us/op 2.9510 us/op 0.95
Uint8Array.set - with subarray 2.4720 us/op 3.2310 us/op 0.77
Uint8Array.set - without subarray 1.9170 us/op 1.6830 us/op 1.14
getUint32 - dataview 407.00 ns/op 276.00 ns/op 1.47
getUint32 - manual 399.00 ns/op 189.00 ns/op 2.11
Set add up to 64 items then delete first 1.8352 us/op 2.6853 us/op 0.68
OrderedSet add up to 64 items then delete first 2.9349 us/op 4.4127 us/op 0.67
Set add up to 64 items then delete last 2.7786 us/op 3.1176 us/op 0.89
OrderedSet add up to 64 items then delete last 3.7512 us/op 4.5755 us/op 0.82
Set add up to 64 items then delete middle 2.0168 us/op 3.1833 us/op 0.63
OrderedSet add up to 64 items then delete middle 5.4962 us/op 6.2719 us/op 0.88
Set add up to 128 items then delete first 4.4705 us/op 6.6475 us/op 0.67
OrderedSet add up to 128 items then delete first 5.9993 us/op 9.5723 us/op 0.63
Set add up to 128 items then delete last 3.9532 us/op 6.8869 us/op 0.57
OrderedSet add up to 128 items then delete last 6.1288 us/op 10.994 us/op 0.56
Set add up to 128 items then delete middle 3.9934 us/op 6.7616 us/op 0.59
OrderedSet add up to 128 items then delete middle 11.910 us/op 16.078 us/op 0.74
Set add up to 256 items then delete first 7.8070 us/op 13.262 us/op 0.59
OrderedSet add up to 256 items then delete first 11.905 us/op 19.489 us/op 0.61
Set add up to 256 items then delete last 8.1588 us/op 11.510 us/op 0.71
OrderedSet add up to 256 items then delete last 12.575 us/op 19.349 us/op 0.65
Set add up to 256 items then delete middle 7.7308 us/op 12.649 us/op 0.61
OrderedSet add up to 256 items then delete middle 34.842 us/op 48.678 us/op 0.72
transfer serialized Status (84 B) 2.2590 us/op 3.4120 us/op 0.66
copy serialized Status (84 B) 1.3940 us/op 1.6620 us/op 0.84
transfer serialized SignedVoluntaryExit (112 B) 2.2860 us/op 3.5260 us/op 0.65
copy serialized SignedVoluntaryExit (112 B) 1.4530 us/op 1.7180 us/op 0.85
transfer serialized ProposerSlashing (416 B) 2.6320 us/op 4.1610 us/op 0.63
copy serialized ProposerSlashing (416 B) 1.8190 us/op 2.3020 us/op 0.79
transfer serialized Attestation (485 B) 2.6270 us/op 4.2580 us/op 0.62
copy serialized Attestation (485 B) 1.8130 us/op 2.3990 us/op 0.76
transfer serialized AttesterSlashing (33232 B) 2.7330 us/op 4.1820 us/op 0.65
copy serialized AttesterSlashing (33232 B) 6.0190 us/op 8.1240 us/op 0.74
transfer serialized Small SignedBeaconBlock (128000 B) 4.0420 us/op 4.5980 us/op 0.88
copy serialized Small SignedBeaconBlock (128000 B) 16.863 us/op 20.849 us/op 0.81
transfer serialized Avg SignedBeaconBlock (200000 B) 3.8770 us/op 5.1780 us/op 0.75
copy serialized Avg SignedBeaconBlock (200000 B) 14.002 us/op 28.524 us/op 0.49
transfer serialized BlobsSidecar (524380 B) 4.0830 us/op 5.4500 us/op 0.75
copy serialized BlobsSidecar (524380 B) 76.721 us/op 98.024 us/op 0.78
transfer serialized Big SignedBeaconBlock (1000000 B) 4.0290 us/op 5.3240 us/op 0.76
copy serialized Big SignedBeaconBlock (1000000 B) 144.93 us/op 152.14 us/op 0.95
pass gossip attestations to forkchoice per slot 2.3115 ms/op 2.9288 ms/op 0.79
forkChoice updateHead vc 100000 bc 64 eq 0 377.82 us/op 586.75 us/op 0.64
forkChoice updateHead vc 600000 bc 64 eq 0 2.4286 ms/op 4.0388 ms/op 0.60
forkChoice updateHead vc 1000000 bc 64 eq 0 3.8229 ms/op 5.5961 ms/op 0.68
forkChoice updateHead vc 600000 bc 320 eq 0 2.3925 ms/op 3.3626 ms/op 0.71
forkChoice updateHead vc 600000 bc 1200 eq 0 2.1845 ms/op 3.2033 ms/op 0.68
forkChoice updateHead vc 600000 bc 7200 eq 0 2.4481 ms/op 3.9230 ms/op 0.62
forkChoice updateHead vc 600000 bc 64 eq 1000 9.5786 ms/op 10.846 ms/op 0.88
forkChoice updateHead vc 600000 bc 64 eq 10000 9.1089 ms/op 11.031 ms/op 0.83
forkChoice updateHead vc 600000 bc 64 eq 300000 11.636 ms/op 22.657 ms/op 0.51
computeDeltas 500000 validators 300 proto nodes 3.6352 ms/op 4.6721 ms/op 0.78
computeDeltas 500000 validators 1200 proto nodes 3.6963 ms/op 4.6128 ms/op 0.80
computeDeltas 500000 validators 7200 proto nodes 3.4938 ms/op 5.2858 ms/op 0.66
computeDeltas 750000 validators 300 proto nodes 5.6375 ms/op 7.7805 ms/op 0.72
computeDeltas 750000 validators 1200 proto nodes 5.8622 ms/op 8.2643 ms/op 0.71
computeDeltas 750000 validators 7200 proto nodes 5.8406 ms/op 7.1681 ms/op 0.81
computeDeltas 1400000 validators 300 proto nodes 10.773 ms/op 16.552 ms/op 0.65
computeDeltas 1400000 validators 1200 proto nodes 10.048 ms/op 18.779 ms/op 0.54
computeDeltas 1400000 validators 7200 proto nodes 9.7517 ms/op 21.477 ms/op 0.45
computeDeltas 2100000 validators 300 proto nodes 14.236 ms/op 25.548 ms/op 0.56
computeDeltas 2100000 validators 1200 proto nodes 13.993 ms/op 24.435 ms/op 0.57
computeDeltas 2100000 validators 7200 proto nodes 14.601 ms/op 23.188 ms/op 0.63
altair processAttestation - 250000 vs - 7PWei normalcase 1.6832 ms/op 3.5109 ms/op 0.48
altair processAttestation - 250000 vs - 7PWei worstcase 2.5269 ms/op 4.7269 ms/op 0.53
altair processAttestation - setStatus - 1/6 committees join 111.69 us/op 206.69 us/op 0.54
altair processAttestation - setStatus - 1/3 committees join 211.28 us/op 322.11 us/op 0.66
altair processAttestation - setStatus - 1/2 committees join 322.84 us/op 409.36 us/op 0.79
altair processAttestation - setStatus - 2/3 committees join 363.19 us/op 532.44 us/op 0.68
altair processAttestation - setStatus - 4/5 committees join 565.43 us/op 702.50 us/op 0.80
altair processAttestation - setStatus - 100% committees join 605.07 us/op 829.36 us/op 0.73
altair processBlock - 250000 vs - 7PWei normalcase 4.3394 ms/op 8.0554 ms/op 0.54
altair processBlock - 250000 vs - 7PWei normalcase hashState 25.003 ms/op 33.281 ms/op 0.75
altair processBlock - 250000 vs - 7PWei worstcase 32.351 ms/op 58.890 ms/op 0.55
altair processBlock - 250000 vs - 7PWei worstcase hashState 68.444 ms/op 83.355 ms/op 0.82
phase0 processBlock - 250000 vs - 7PWei normalcase 1.7438 ms/op 2.6818 ms/op 0.65
phase0 processBlock - 250000 vs - 7PWei worstcase 23.217 ms/op 25.528 ms/op 0.91
altair processEth1Data - 250000 vs - 7PWei normalcase 364.74 us/op 649.61 us/op 0.56
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 4.9100 us/op 7.8650 us/op 0.62
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 24.201 us/op 42.505 us/op 0.57
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 7.1980 us/op 11.237 us/op 0.64
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 5.0820 us/op 8.3150 us/op 0.61
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 109.41 us/op 129.70 us/op 0.84
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.1906 ms/op 1.0509 ms/op 1.13
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 967.28 us/op 1.5678 ms/op 0.62
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 966.90 us/op 1.6388 ms/op 0.59
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.6177 ms/op 4.2443 ms/op 0.62
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.0157 ms/op 1.6650 ms/op 0.61
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.0707 ms/op 4.6493 ms/op 0.66
Tree 40 250000 create 470.12 ms/op 629.88 ms/op 0.75
Tree 40 250000 get(125000) 137.85 ns/op 169.55 ns/op 0.81
Tree 40 250000 set(125000) 1.3821 us/op 1.8231 us/op 0.76
Tree 40 250000 toArray() 24.658 ms/op 21.728 ms/op 1.13
Tree 40 250000 iterate all - toArray() + loop 23.527 ms/op 22.954 ms/op 1.03
Tree 40 250000 iterate all - get(i) 57.463 ms/op 66.033 ms/op 0.87
Array 250000 create 2.5886 ms/op 4.2975 ms/op 0.60
Array 250000 clone - spread 1.3193 ms/op 1.8965 ms/op 0.70
Array 250000 get(125000) 0.57700 ns/op 0.45300 ns/op 1.27
Array 250000 set(125000) 0.59500 ns/op 0.47900 ns/op 1.24
Array 250000 iterate all - loop 77.302 us/op 98.728 us/op 0.78
phase0 afterProcessEpoch - 250000 vs - 7PWei 41.297 ms/op 57.858 ms/op 0.71
Array.fill - length 1000000 2.5561 ms/op 5.5121 ms/op 0.46
Array push - length 1000000 15.454 ms/op 17.065 ms/op 0.91
Array.get 0.28462 ns/op 0.32193 ns/op 0.88
Uint8Array.get 0.34121 ns/op 0.49751 ns/op 0.69
phase0 beforeProcessEpoch - 250000 vs - 7PWei 19.844 ms/op 21.183 ms/op 0.94
altair processEpoch - mainnet_e81889 281.63 ms/op 361.28 ms/op 0.78
mainnet_e81889 - altair beforeProcessEpoch 17.505 ms/op 23.152 ms/op 0.76
mainnet_e81889 - altair processJustificationAndFinalization 15.497 us/op 18.613 us/op 0.83
mainnet_e81889 - altair processInactivityUpdates 4.6737 ms/op 6.6209 ms/op 0.71
mainnet_e81889 - altair processRewardsAndPenalties 52.920 ms/op 45.804 ms/op 1.16
mainnet_e81889 - altair processRegistryUpdates 3.0100 us/op 4.8780 us/op 0.62
mainnet_e81889 - altair processSlashings 757.00 ns/op 642.00 ns/op 1.18
mainnet_e81889 - altair processEth1DataReset 1.1550 us/op 533.00 ns/op 2.17
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.1359 ms/op 1.5514 ms/op 0.73
mainnet_e81889 - altair processSlashingsReset 4.5920 us/op 5.1920 us/op 0.88
mainnet_e81889 - altair processRandaoMixesReset 4.4010 us/op 5.1070 us/op 0.86
mainnet_e81889 - altair processHistoricalRootsUpdate 1.0050 us/op 786.00 ns/op 1.28
mainnet_e81889 - altair processParticipationFlagUpdates 2.9810 us/op 2.7560 us/op 1.08
mainnet_e81889 - altair processSyncCommitteeUpdates 1.1330 us/op 789.00 ns/op 1.44
mainnet_e81889 - altair afterProcessEpoch 43.860 ms/op 57.858 ms/op 0.76
capella processEpoch - mainnet_e217614 1.0728 s/op 970.32 ms/op 1.11
mainnet_e217614 - capella beforeProcessEpoch 73.349 ms/op 74.652 ms/op 0.98
mainnet_e217614 - capella processJustificationAndFinalization 17.940 us/op 13.143 us/op 1.36
mainnet_e217614 - capella processInactivityUpdates 15.300 ms/op 16.167 ms/op 0.95
mainnet_e217614 - capella processRewardsAndPenalties 232.26 ms/op 228.48 ms/op 1.02
mainnet_e217614 - capella processRegistryUpdates 12.091 us/op 13.866 us/op 0.87
mainnet_e217614 - capella processSlashings 1.0810 us/op 566.00 ns/op 1.91
mainnet_e217614 - capella processEth1DataReset 959.00 ns/op 484.00 ns/op 1.98
mainnet_e217614 - capella processEffectiveBalanceUpdates 15.072 ms/op 13.559 ms/op 1.11
mainnet_e217614 - capella processSlashingsReset 3.3590 us/op 3.5200 us/op 0.95
mainnet_e217614 - capella processRandaoMixesReset 3.7670 us/op 4.8810 us/op 0.77
mainnet_e217614 - capella processHistoricalRootsUpdate 989.00 ns/op 463.00 ns/op 2.14
mainnet_e217614 - capella processParticipationFlagUpdates 4.4170 us/op 3.7040 us/op 1.19
mainnet_e217614 - capella afterProcessEpoch 103.62 ms/op 131.68 ms/op 0.79
phase0 processEpoch - mainnet_e58758 315.30 ms/op 366.41 ms/op 0.86
mainnet_e58758 - phase0 beforeProcessEpoch 89.841 ms/op 78.221 ms/op 1.15
mainnet_e58758 - phase0 processJustificationAndFinalization 14.051 us/op 31.676 us/op 0.44
mainnet_e58758 - phase0 processRewardsAndPenalties 25.586 ms/op 30.825 ms/op 0.83
mainnet_e58758 - phase0 processRegistryUpdates 6.7550 us/op 16.470 us/op 0.41
mainnet_e58758 - phase0 processSlashings 850.00 ns/op 1.0890 us/op 0.78
mainnet_e58758 - phase0 processEth1DataReset 846.00 ns/op 818.00 ns/op 1.03
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.3813 ms/op 1.2523 ms/op 1.10
mainnet_e58758 - phase0 processSlashingsReset 2.8650 us/op 4.0480 us/op 0.71
mainnet_e58758 - phase0 processRandaoMixesReset 4.9650 us/op 5.6270 us/op 0.88
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.3980 us/op 781.00 ns/op 1.79
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.4740 us/op 6.4280 us/op 0.70
mainnet_e58758 - phase0 afterProcessEpoch 36.302 ms/op 44.880 ms/op 0.81
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.1906 ms/op 1.3980 ms/op 0.85
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4898 ms/op 1.9682 ms/op 0.76
altair processInactivityUpdates - 250000 normalcase 16.912 ms/op 18.196 ms/op 0.93
altair processInactivityUpdates - 250000 worstcase 18.130 ms/op 23.206 ms/op 0.78
phase0 processRegistryUpdates - 250000 normalcase 5.2520 us/op 10.512 us/op 0.50
phase0 processRegistryUpdates - 250000 badcase_full_deposits 298.21 us/op 315.68 us/op 0.94
phase0 processRegistryUpdates - 250000 worstcase 0.5 108.92 ms/op 126.24 ms/op 0.86
altair processRewardsAndPenalties - 250000 normalcase 44.416 ms/op 32.617 ms/op 1.36
altair processRewardsAndPenalties - 250000 worstcase 49.744 ms/op 45.452 ms/op 1.09
phase0 getAttestationDeltas - 250000 normalcase 6.9582 ms/op 11.224 ms/op 0.62
phase0 getAttestationDeltas - 250000 worstcase 8.4179 ms/op 8.7053 ms/op 0.97
phase0 processSlashings - 250000 worstcase 99.158 us/op 132.23 us/op 0.75
altair processSyncCommitteeUpdates - 250000 112.60 ms/op 143.45 ms/op 0.78
BeaconState.hashTreeRoot - No change 495.00 ns/op 273.00 ns/op 1.81
BeaconState.hashTreeRoot - 1 full validator 132.17 us/op 107.48 us/op 1.23
BeaconState.hashTreeRoot - 32 full validator 1.5169 ms/op 1.1138 ms/op 1.36
BeaconState.hashTreeRoot - 512 full validator 12.201 ms/op 11.366 ms/op 1.07
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 147.22 us/op 151.22 us/op 0.97
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.9162 ms/op 2.1671 ms/op 0.88
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 23.875 ms/op 21.442 ms/op 1.11
BeaconState.hashTreeRoot - 1 balances 116.88 us/op 102.25 us/op 1.14
BeaconState.hashTreeRoot - 32 balances 1.3958 ms/op 1.0930 ms/op 1.28
BeaconState.hashTreeRoot - 512 balances 10.088 ms/op 8.2616 ms/op 1.22
BeaconState.hashTreeRoot - 250000 balances 192.15 ms/op 173.12 ms/op 1.11
aggregationBits - 2048 els - zipIndexesInBitList 29.382 us/op 23.951 us/op 1.23
byteArrayEquals 32 47.256 ns/op 52.594 ns/op 0.90
Buffer.compare 32 15.208 ns/op 17.116 ns/op 0.89
byteArrayEquals 1024 1.2497 us/op 1.5600 us/op 0.80
Buffer.compare 1024 24.315 ns/op 24.854 ns/op 0.98
byteArrayEquals 16384 19.890 us/op 24.643 us/op 0.81
Buffer.compare 16384 170.55 ns/op 181.46 ns/op 0.94
byteArrayEquals 123687377 148.82 ms/op 191.32 ms/op 0.78
Buffer.compare 123687377 5.7527 ms/op 6.9811 ms/op 0.82
byteArrayEquals 32 - diff last byte 45.296 ns/op 52.868 ns/op 0.86
Buffer.compare 32 - diff last byte 15.303 ns/op 17.494 ns/op 0.87
byteArrayEquals 1024 - diff last byte 1.2197 us/op 1.6081 us/op 0.76
Buffer.compare 1024 - diff last byte 23.423 ns/op 25.531 ns/op 0.92
byteArrayEquals 16384 - diff last byte 19.436 us/op 25.920 us/op 0.75
Buffer.compare 16384 - diff last byte 189.86 ns/op 208.71 ns/op 0.91
byteArrayEquals 123687377 - diff last byte 150.95 ms/op 199.29 ms/op 0.76
Buffer.compare 123687377 - diff last byte 6.1182 ms/op 7.6033 ms/op 0.80
byteArrayEquals 32 - random bytes 5.2130 ns/op 5.3260 ns/op 0.98
Buffer.compare 32 - random bytes 16.020 ns/op 18.058 ns/op 0.89
byteArrayEquals 1024 - random bytes 5.0440 ns/op 5.3380 ns/op 0.94
Buffer.compare 1024 - random bytes 15.859 ns/op 18.129 ns/op 0.87
byteArrayEquals 16384 - random bytes 5.0090 ns/op 5.3380 ns/op 0.94
Buffer.compare 16384 - random bytes 15.829 ns/op 18.165 ns/op 0.87
byteArrayEquals 123687377 - random bytes 7.8600 ns/op 6.5300 ns/op 1.20
Buffer.compare 123687377 - random bytes 18.770 ns/op 19.180 ns/op 0.98
regular array get 100000 times 31.398 us/op 34.333 us/op 0.91
wrappedArray get 100000 times 31.459 us/op 34.574 us/op 0.91
arrayWithProxy get 100000 times 9.3451 ms/op 13.270 ms/op 0.70
ssz.Root.equals 45.132 ns/op 48.173 ns/op 0.94
byteArrayEquals 44.936 ns/op 46.670 ns/op 0.96
Buffer.compare 9.3250 ns/op 10.838 ns/op 0.86
processSlot - 1 slots 13.970 us/op 14.002 us/op 1.00
processSlot - 32 slots 3.1056 ms/op 3.2896 ms/op 0.94
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 38.072 ms/op 35.061 ms/op 1.09
getCommitteeAssignments - req 1 vs - 250000 vc 1.8847 ms/op 2.2723 ms/op 0.83
getCommitteeAssignments - req 100 vs - 250000 vc 3.6827 ms/op 4.3346 ms/op 0.85
getCommitteeAssignments - req 1000 vs - 250000 vc 3.8359 ms/op 4.6496 ms/op 0.82
findModifiedValidators - 10000 modified validators 272.12 ms/op 254.89 ms/op 1.07
findModifiedValidators - 1000 modified validators 148.46 ms/op 159.35 ms/op 0.93
findModifiedValidators - 100 modified validators 160.04 ms/op 146.35 ms/op 1.09
findModifiedValidators - 10 modified validators 149.47 ms/op 170.55 ms/op 0.88
findModifiedValidators - 1 modified validators 113.71 ms/op 179.44 ms/op 0.63
findModifiedValidators - no difference 153.70 ms/op 159.59 ms/op 0.96
compare ViewDUs 3.6050 s/op 3.4119 s/op 1.06
compare each validator Uint8Array 1.4001 s/op 1.6273 s/op 0.86
compare ViewDU to Uint8Array 765.29 ms/op 1.1722 s/op 0.65
migrate state 1000000 validators, 24 modified, 0 new 685.63 ms/op 758.06 ms/op 0.90
migrate state 1000000 validators, 1700 modified, 1000 new 975.25 ms/op 1.0691 s/op 0.91
migrate state 1000000 validators, 3400 modified, 2000 new 1.1251 s/op 1.1695 s/op 0.96
migrate state 1500000 validators, 24 modified, 0 new 757.55 ms/op 691.06 ms/op 1.10
migrate state 1500000 validators, 1700 modified, 1000 new 983.71 ms/op 898.29 ms/op 1.10
migrate state 1500000 validators, 3400 modified, 2000 new 1.1212 s/op 1.0612 s/op 1.06
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.4800 ns/op 4.6400 ns/op 1.40
state getBlockRootAtSlot - 250000 vs - 7PWei 597.49 ns/op 572.27 ns/op 1.04
computeProposers - vc 250000 6.2380 ms/op 7.1449 ms/op 0.87
computeEpochShuffling - vc 250000 35.587 ms/op 42.843 ms/op 0.83
getNextSyncCommittee - vc 250000 103.29 ms/op 120.28 ms/op 0.86
computeSigningRoot for AttestationData 20.313 us/op 22.698 us/op 0.89
hash AttestationData serialized data then Buffer.toString(base64) 1.1573 us/op 1.5864 us/op 0.73
toHexString serialized data 759.77 ns/op 894.71 ns/op 0.85
Buffer.toString(base64) 135.28 ns/op 176.21 ns/op 0.77
nodejs block root to RootHex using toHex 107.70 ns/op 149.26 ns/op 0.72
nodejs block root to RootHex using toRootHex 70.983 ns/op 106.00 ns/op 0.67
browser block root to RootHex using the deprecated toHexString 205.81 ns/op 230.80 ns/op 0.89
browser block root to RootHex using toHex 162.80 ns/op 183.57 ns/op 0.89
browser block root to RootHex using toRootHex 150.40 ns/op 165.03 ns/op 0.91

by benchmarkbot/action

Copy link

codecov bot commented Jan 30, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 48.45%. Comparing base (42631de) to head (ed936ce).
Report is 15 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #7406      +/-   ##
============================================
- Coverage     48.61%   48.45%   -0.17%     
============================================
  Files           603      602       -1     
  Lines         40519    40387     -132     
  Branches       2070     2069       -1     
============================================
- Hits          19697    19568     -129     
+ Misses        20784    20781       -3     
  Partials         38       38              

@wemeetagain wemeetagain merged commit e9ceb87 into unstable Jan 31, 2025
19 of 20 checks passed
@wemeetagain wemeetagain deleted the cayman/bump-crc branch January 31, 2025 14:44
@wemeetagain
Copy link
Member Author

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