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: reuse setup and build action in sim merge tests #7345

Merged
merged 1 commit into from
Jan 10, 2025

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Jan 9, 2025

Motivation

Sim merge tests are broken https://github.com/ChainSafe/lodestar/actions/runs/12677099857/job/35331680453#step:11:230

 × test/sim/mergemock.test.ts > executionEngine / ExecutionEngineHttp > Test builder with useProduceBlockV3=true 9710ms
   → /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /home/runner/actions-runner/_work/lodestar/lodestar/node_modules/c-kzg/build/Release/kzg.node)

Description

This reuses the setup and build action in sim merge tests, I am actually not sure why this fixes the issue somehow related to how we restore dependencies or that's my assumption at least.

The root cause of this is that ubuntu 22 might not have GLIBCXX_3.4.32 which I also encountered on my local system but only when running the binary, seems related to the node version, likely due to openssl bump on nodejs side

other fix would be to update system dependencies manually

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install --only-upgrade libstdc++6

as suggested here

@nflaig nflaig requested a review from a team as a code owner January 9, 2025 23:18
Copy link

codecov bot commented Jan 9, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 48.76%. Comparing base (18a0d68) to head (bcf2543).
Report is 1 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #7345   +/-   ##
=========================================
  Coverage     48.76%   48.76%           
=========================================
  Files           601      601           
  Lines         40243    40243           
  Branches       2067     2067           
=========================================
  Hits          19626    19626           
  Misses        20579    20579           
  Partials         38       38           

Copy link
Contributor

github-actions bot commented Jan 9, 2025

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: 93b1b56 Previous: 18a0d68 Ratio
forkChoice updateHead vc 600000 bc 64 eq 300000 11.863 ms/op 54.706 ms/op 0.22
Full benchmark results
Benchmark suite Current: 93b1b56 Previous: 18a0d68 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.6453 ms/op 1.1040 ms/op 1.49
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 45.524 us/op 47.211 us/op 0.96
BLS verify - blst 837.87 us/op 792.70 us/op 1.06
BLS verifyMultipleSignatures 3 - blst 1.4033 ms/op 1.2621 ms/op 1.11
BLS verifyMultipleSignatures 8 - blst 1.8483 ms/op 1.8084 ms/op 1.02
BLS verifyMultipleSignatures 32 - blst 5.4356 ms/op 5.0180 ms/op 1.08
BLS verifyMultipleSignatures 64 - blst 10.439 ms/op 9.4633 ms/op 1.10
BLS verifyMultipleSignatures 128 - blst 16.942 ms/op 17.988 ms/op 0.94
BLS deserializing 10000 signatures 695.84 ms/op 734.03 ms/op 0.95
BLS deserializing 100000 signatures 6.9662 s/op 7.1874 s/op 0.97
BLS verifyMultipleSignatures - same message - 3 - blst 1.0239 ms/op 910.52 us/op 1.12
BLS verifyMultipleSignatures - same message - 8 - blst 1.1351 ms/op 999.57 us/op 1.14
BLS verifyMultipleSignatures - same message - 32 - blst 1.7228 ms/op 1.7200 ms/op 1.00
BLS verifyMultipleSignatures - same message - 64 - blst 2.6309 ms/op 2.6512 ms/op 0.99
BLS verifyMultipleSignatures - same message - 128 - blst 4.4156 ms/op 4.4681 ms/op 0.99
BLS aggregatePubkeys 32 - blst 20.498 us/op 20.493 us/op 1.00
BLS aggregatePubkeys 128 - blst 71.207 us/op 73.004 us/op 0.98
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 91.974 ms/op 58.541 ms/op 1.57
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 59.399 ms/op 50.429 ms/op 1.18
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 44.194 ms/op 42.456 ms/op 1.04
getSlashingsAndExits - default max 139.76 us/op 129.35 us/op 1.08
getSlashingsAndExits - 2k 387.03 us/op 392.83 us/op 0.99
proposeBlockBody type=full, size=empty 6.0079 ms/op 6.5200 ms/op 0.92
isKnown best case - 1 super set check 302.00 ns/op 298.00 ns/op 1.01
isKnown normal case - 2 super set checks 294.00 ns/op 312.00 ns/op 0.94
isKnown worse case - 16 super set checks 303.00 ns/op 278.00 ns/op 1.09
InMemoryCheckpointStateCache - add get delete 3.0520 us/op 3.1020 us/op 0.98
validate api signedAggregateAndProof - struct 2.6426 ms/op 1.4079 ms/op 1.88
validate gossip signedAggregateAndProof - struct 2.6552 ms/op 1.3852 ms/op 1.92
batch validate gossip attestation - vc 640000 - chunk 32 125.90 us/op 129.49 us/op 0.97
batch validate gossip attestation - vc 640000 - chunk 64 115.71 us/op 124.61 us/op 0.93
batch validate gossip attestation - vc 640000 - chunk 128 105.56 us/op 119.80 us/op 0.88
batch validate gossip attestation - vc 640000 - chunk 256 102.68 us/op 136.26 us/op 0.75
pickEth1Vote - no votes 1.0001 ms/op 1.6040 ms/op 0.62
pickEth1Vote - max votes 6.7443 ms/op 10.273 ms/op 0.66
pickEth1Vote - Eth1Data hashTreeRoot value x2048 15.332 ms/op 21.005 ms/op 0.73
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 23.809 ms/op 29.523 ms/op 0.81
pickEth1Vote - Eth1Data fastSerialize value x2048 475.20 us/op 673.54 us/op 0.71
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.9447 ms/op 4.0605 ms/op 0.97
bytes32 toHexString 397.00 ns/op 773.00 ns/op 0.51
bytes32 Buffer.toString(hex) 222.00 ns/op 301.00 ns/op 0.74
bytes32 Buffer.toString(hex) from Uint8Array 349.00 ns/op 548.00 ns/op 0.64
bytes32 Buffer.toString(hex) + 0x 224.00 ns/op 305.00 ns/op 0.73
Object access 1 prop 0.12700 ns/op 0.21900 ns/op 0.58
Map access 1 prop 0.12200 ns/op 0.15500 ns/op 0.79
Object get x1000 5.6660 ns/op 7.2020 ns/op 0.79
Map get x1000 6.2140 ns/op 8.5130 ns/op 0.73
Object set x1000 31.188 ns/op 60.314 ns/op 0.52
Map set x1000 21.259 ns/op 40.622 ns/op 0.52
Return object 10000 times 0.28360 ns/op 0.35520 ns/op 0.80
Throw Error 10000 times 3.2446 us/op 3.9594 us/op 0.82
toHex 142.16 ns/op 197.22 ns/op 0.72
Buffer.from 130.75 ns/op 176.45 ns/op 0.74
shared Buffer 87.253 ns/op 108.70 ns/op 0.80
fastMsgIdFn sha256 / 200 bytes 2.1790 us/op 2.8720 us/op 0.76
fastMsgIdFn h32 xxhash / 200 bytes 214.00 ns/op 370.00 ns/op 0.58
fastMsgIdFn h64 xxhash / 200 bytes 269.00 ns/op 314.00 ns/op 0.86
fastMsgIdFn sha256 / 1000 bytes 7.1800 us/op 8.4200 us/op 0.85
fastMsgIdFn h32 xxhash / 1000 bytes 337.00 ns/op 512.00 ns/op 0.66
fastMsgIdFn h64 xxhash / 1000 bytes 334.00 ns/op 421.00 ns/op 0.79
fastMsgIdFn sha256 / 10000 bytes 63.015 us/op 73.741 us/op 0.85
fastMsgIdFn h32 xxhash / 10000 bytes 1.8040 us/op 2.1740 us/op 0.83
fastMsgIdFn h64 xxhash / 10000 bytes 1.1880 us/op 1.3840 us/op 0.86
send data - 1000 256B messages 12.969 ms/op 17.468 ms/op 0.74
send data - 1000 512B messages 15.971 ms/op 23.414 ms/op 0.68
send data - 1000 1024B messages 24.875 ms/op 32.408 ms/op 0.77
send data - 1000 1200B messages 26.827 ms/op 33.454 ms/op 0.80
send data - 1000 2048B messages 32.307 ms/op 40.143 ms/op 0.80
send data - 1000 4096B messages 30.354 ms/op 40.915 ms/op 0.74
send data - 1000 16384B messages 69.277 ms/op 87.057 ms/op 0.80
send data - 1000 65536B messages 209.69 ms/op 258.91 ms/op 0.81
enrSubnets - fastDeserialize 64 bits 1.0370 us/op 1.4450 us/op 0.72
enrSubnets - ssz BitVector 64 bits 337.00 ns/op 543.00 ns/op 0.62
enrSubnets - fastDeserialize 4 bits 140.00 ns/op 249.00 ns/op 0.56
enrSubnets - ssz BitVector 4 bits 349.00 ns/op 460.00 ns/op 0.76
prioritizePeers score -10:0 att 32-0.1 sync 2-0 135.69 us/op 172.08 us/op 0.79
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 152.41 us/op 196.04 us/op 0.78
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 216.87 us/op 250.96 us/op 0.86
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 388.50 us/op 452.34 us/op 0.86
prioritizePeers score 0:0 att 64-1 sync 4-1 486.24 us/op 741.52 us/op 0.66
array of 16000 items push then shift 1.5869 us/op 1.8877 us/op 0.84
LinkedList of 16000 items push then shift 6.9170 ns/op 9.5570 ns/op 0.72
array of 16000 items push then pop 103.23 ns/op 149.58 ns/op 0.69
LinkedList of 16000 items push then pop 6.8940 ns/op 9.6270 ns/op 0.72
array of 24000 items push then shift 2.3589 us/op 2.7987 us/op 0.84
LinkedList of 24000 items push then shift 7.2570 ns/op 9.7710 ns/op 0.74
array of 24000 items push then pop 127.80 ns/op 206.17 ns/op 0.62
LinkedList of 24000 items push then pop 6.7460 ns/op 9.4400 ns/op 0.71
intersect bitArray bitLen 8 6.2330 ns/op 7.7050 ns/op 0.81
intersect array and set length 8 44.648 ns/op 81.517 ns/op 0.55
intersect bitArray bitLen 128 29.274 ns/op 35.515 ns/op 0.82
intersect array and set length 128 643.49 ns/op 974.26 ns/op 0.66
bitArray.getTrueBitIndexes() bitLen 128 1.2960 us/op 2.2000 us/op 0.59
bitArray.getTrueBitIndexes() bitLen 248 2.0840 us/op 3.4210 us/op 0.61
bitArray.getTrueBitIndexes() bitLen 512 4.1520 us/op 6.9960 us/op 0.59
Buffer.concat 32 items 712.00 ns/op 1.0390 us/op 0.69
Uint8Array.set 32 items 1.3200 us/op 1.9080 us/op 0.69
Buffer.copy 2.4680 us/op 3.7130 us/op 0.66
Uint8Array.set - with subarray 2.1470 us/op 3.7970 us/op 0.57
Uint8Array.set - without subarray 1.4190 us/op 1.9480 us/op 0.73
getUint32 - dataview 227.00 ns/op 335.00 ns/op 0.68
getUint32 - manual 152.00 ns/op 290.00 ns/op 0.52
Set add up to 64 items then delete first 2.1056 us/op 3.1121 us/op 0.68
OrderedSet add up to 64 items then delete first 3.1804 us/op 4.5860 us/op 0.69
Set add up to 64 items then delete last 2.3114 us/op 3.5031 us/op 0.66
OrderedSet add up to 64 items then delete last 3.3425 us/op 5.1197 us/op 0.65
Set add up to 64 items then delete middle 2.3248 us/op 3.2713 us/op 0.71
OrderedSet add up to 64 items then delete middle 4.8379 us/op 6.9993 us/op 0.69
Set add up to 128 items then delete first 4.7489 us/op 7.6949 us/op 0.62
OrderedSet add up to 128 items then delete first 7.3188 us/op 11.991 us/op 0.61
Set add up to 128 items then delete last 4.5525 us/op 7.3426 us/op 0.62
OrderedSet add up to 128 items then delete last 6.7326 us/op 11.144 us/op 0.60
Set add up to 128 items then delete middle 4.5428 us/op 7.1830 us/op 0.63
OrderedSet add up to 128 items then delete middle 13.207 us/op 18.298 us/op 0.72
Set add up to 256 items then delete first 9.5033 us/op 14.755 us/op 0.64
OrderedSet add up to 256 items then delete first 15.111 us/op 23.239 us/op 0.65
Set add up to 256 items then delete last 9.1013 us/op 14.654 us/op 0.62
OrderedSet add up to 256 items then delete last 13.706 us/op 22.452 us/op 0.61
Set add up to 256 items then delete middle 9.0369 us/op 14.272 us/op 0.63
OrderedSet add up to 256 items then delete middle 38.927 us/op 56.682 us/op 0.69
transfer serialized Status (84 B) 2.3530 us/op 3.7240 us/op 0.63
copy serialized Status (84 B) 1.2180 us/op 1.8040 us/op 0.68
transfer serialized SignedVoluntaryExit (112 B) 2.4490 us/op 3.8880 us/op 0.63
copy serialized SignedVoluntaryExit (112 B) 1.2700 us/op 2.0090 us/op 0.63
transfer serialized ProposerSlashing (416 B) 3.0820 us/op 4.1870 us/op 0.74
copy serialized ProposerSlashing (416 B) 1.9220 us/op 2.7620 us/op 0.70
transfer serialized Attestation (485 B) 2.6100 us/op 4.4420 us/op 0.59
copy serialized Attestation (485 B) 1.7950 us/op 3.0550 us/op 0.59
transfer serialized AttesterSlashing (33232 B) 3.4250 us/op 4.1330 us/op 0.83
copy serialized AttesterSlashing (33232 B) 4.9580 us/op 11.656 us/op 0.43
transfer serialized Small SignedBeaconBlock (128000 B) 4.1250 us/op 5.5230 us/op 0.75
copy serialized Small SignedBeaconBlock (128000 B) 13.522 us/op 39.357 us/op 0.34
transfer serialized Avg SignedBeaconBlock (200000 B) 4.6440 us/op 6.6050 us/op 0.70
copy serialized Avg SignedBeaconBlock (200000 B) 19.310 us/op 49.477 us/op 0.39
transfer serialized BlobsSidecar (524380 B) 4.1550 us/op 7.0350 us/op 0.59
copy serialized BlobsSidecar (524380 B) 136.66 us/op 157.96 us/op 0.87
transfer serialized Big SignedBeaconBlock (1000000 B) 4.3980 us/op 8.6260 us/op 0.51
copy serialized Big SignedBeaconBlock (1000000 B) 163.94 us/op 256.58 us/op 0.64
pass gossip attestations to forkchoice per slot 2.6413 ms/op 3.4914 ms/op 0.76
forkChoice updateHead vc 100000 bc 64 eq 0 444.75 us/op 567.06 us/op 0.78
forkChoice updateHead vc 600000 bc 64 eq 0 3.2546 ms/op 6.2050 ms/op 0.52
forkChoice updateHead vc 1000000 bc 64 eq 0 4.6948 ms/op 9.0462 ms/op 0.52
forkChoice updateHead vc 600000 bc 320 eq 0 2.6592 ms/op 4.6535 ms/op 0.57
forkChoice updateHead vc 600000 bc 1200 eq 0 2.7370 ms/op 5.0855 ms/op 0.54
forkChoice updateHead vc 600000 bc 7200 eq 0 3.4415 ms/op 7.6865 ms/op 0.45
forkChoice updateHead vc 600000 bc 64 eq 1000 10.162 ms/op 16.702 ms/op 0.61
forkChoice updateHead vc 600000 bc 64 eq 10000 10.119 ms/op 12.679 ms/op 0.80
forkChoice updateHead vc 600000 bc 64 eq 300000 11.863 ms/op 54.706 ms/op 0.22
computeDeltas 500000 validators 300 proto nodes 4.0311 ms/op 5.6119 ms/op 0.72
computeDeltas 500000 validators 1200 proto nodes 4.1124 ms/op 5.2537 ms/op 0.78
computeDeltas 500000 validators 7200 proto nodes 4.0931 ms/op 8.6721 ms/op 0.47
computeDeltas 750000 validators 300 proto nodes 6.1485 ms/op 8.8509 ms/op 0.69
computeDeltas 750000 validators 1200 proto nodes 6.2758 ms/op 8.1025 ms/op 0.77
computeDeltas 750000 validators 7200 proto nodes 6.1089 ms/op 7.5593 ms/op 0.81
computeDeltas 1400000 validators 300 proto nodes 11.146 ms/op 12.782 ms/op 0.87
computeDeltas 1400000 validators 1200 proto nodes 11.375 ms/op 12.194 ms/op 0.93
computeDeltas 1400000 validators 7200 proto nodes 11.268 ms/op 13.799 ms/op 0.82
computeDeltas 2100000 validators 300 proto nodes 17.244 ms/op 21.314 ms/op 0.81
computeDeltas 2100000 validators 1200 proto nodes 17.044 ms/op 21.306 ms/op 0.80
computeDeltas 2100000 validators 7200 proto nodes 17.035 ms/op 19.749 ms/op 0.86
altair processAttestation - 250000 vs - 7PWei normalcase 1.8499 ms/op 3.1429 ms/op 0.59
altair processAttestation - 250000 vs - 7PWei worstcase 2.7667 ms/op 4.2468 ms/op 0.65
altair processAttestation - setStatus - 1/6 committees join 119.42 us/op 195.07 us/op 0.61
altair processAttestation - setStatus - 1/3 committees join 232.71 us/op 331.87 us/op 0.70
altair processAttestation - setStatus - 1/2 committees join 327.49 us/op 388.20 us/op 0.84
altair processAttestation - setStatus - 2/3 committees join 426.84 us/op 499.21 us/op 0.86
altair processAttestation - setStatus - 4/5 committees join 598.52 us/op 729.22 us/op 0.82
altair processAttestation - setStatus - 100% committees join 706.72 us/op 890.47 us/op 0.79
altair processBlock - 250000 vs - 7PWei normalcase 5.7912 ms/op 6.8430 ms/op 0.85
altair processBlock - 250000 vs - 7PWei normalcase hashState 28.892 ms/op 31.233 ms/op 0.93
altair processBlock - 250000 vs - 7PWei worstcase 47.445 ms/op 37.961 ms/op 1.25
altair processBlock - 250000 vs - 7PWei worstcase hashState 84.288 ms/op 78.791 ms/op 1.07
phase0 processBlock - 250000 vs - 7PWei normalcase 2.2871 ms/op 2.2133 ms/op 1.03
phase0 processBlock - 250000 vs - 7PWei worstcase 29.005 ms/op 24.012 ms/op 1.21
altair processEth1Data - 250000 vs - 7PWei normalcase 312.96 us/op 425.65 us/op 0.74
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 6.6380 us/op 6.7690 us/op 0.98
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 67.291 us/op 54.588 us/op 1.23
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 16.385 us/op 11.667 us/op 1.40
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 8.9140 us/op 7.6390 us/op 1.17
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 193.91 us/op 185.34 us/op 1.05
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.6753 ms/op 1.2444 ms/op 1.35
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.1719 ms/op 1.9692 ms/op 1.10
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.0230 ms/op 1.6513 ms/op 1.23
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.9172 ms/op 4.2397 ms/op 0.92
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.3305 ms/op 1.8969 ms/op 1.23
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.9461 ms/op 4.7207 ms/op 0.84
Tree 40 250000 create 238.46 ms/op 236.17 ms/op 1.01
Tree 40 250000 get(125000) 156.61 ns/op 174.61 ns/op 0.90
Tree 40 250000 set(125000) 692.12 ns/op 716.68 ns/op 0.97
Tree 40 250000 toArray() 20.867 ms/op 19.876 ms/op 1.05
Tree 40 250000 iterate all - toArray() + loop 20.184 ms/op 21.781 ms/op 0.93
Tree 40 250000 iterate all - get(i) 56.513 ms/op 58.009 ms/op 0.97
Array 250000 create 3.5050 ms/op 3.6614 ms/op 0.96
Array 250000 clone - spread 1.4668 ms/op 1.5433 ms/op 0.95
Array 250000 get(125000) 0.41800 ns/op 0.44300 ns/op 0.94
Array 250000 set(125000) 0.44400 ns/op 0.46500 ns/op 0.95
Array 250000 iterate all - loop 100.43 us/op 100.53 us/op 1.00
phase0 afterProcessEpoch - 250000 vs - 7PWei 53.392 ms/op 54.594 ms/op 0.98
Array.fill - length 1000000 3.6103 ms/op 3.8453 ms/op 0.94
Array push - length 1000000 22.272 ms/op 18.948 ms/op 1.18
Array.get 0.29599 ns/op 0.30015 ns/op 0.99
Uint8Array.get 0.45963 ns/op 0.46504 ns/op 0.99
phase0 beforeProcessEpoch - 250000 vs - 7PWei 23.265 ms/op 19.130 ms/op 1.22
altair processEpoch - mainnet_e81889 257.60 ms/op 298.37 ms/op 0.86
mainnet_e81889 - altair beforeProcessEpoch 18.771 ms/op 19.098 ms/op 0.98
mainnet_e81889 - altair processJustificationAndFinalization 15.773 us/op 15.133 us/op 1.04
mainnet_e81889 - altair processInactivityUpdates 6.9533 ms/op 5.5439 ms/op 1.25
mainnet_e81889 - altair processRewardsAndPenalties 43.688 ms/op 45.273 ms/op 0.96
mainnet_e81889 - altair processRegistryUpdates 3.5620 us/op 2.5690 us/op 1.39
mainnet_e81889 - altair processSlashings 1.0420 us/op 477.00 ns/op 2.18
mainnet_e81889 - altair processEth1DataReset 705.00 ns/op 556.00 ns/op 1.27
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.7306 ms/op 1.4729 ms/op 1.17
mainnet_e81889 - altair processSlashingsReset 4.1380 us/op 3.3310 us/op 1.24
mainnet_e81889 - altair processRandaoMixesReset 5.4630 us/op 6.3210 us/op 0.86
mainnet_e81889 - altair processHistoricalRootsUpdate 1.3260 us/op 680.00 ns/op 1.95
mainnet_e81889 - altair processParticipationFlagUpdates 3.5310 us/op 2.2480 us/op 1.57
mainnet_e81889 - altair processSyncCommitteeUpdates 1.0990 us/op 608.00 ns/op 1.81
mainnet_e81889 - altair afterProcessEpoch 54.131 ms/op 53.893 ms/op 1.00
capella processEpoch - mainnet_e217614 1.2705 s/op 1.0443 s/op 1.22
mainnet_e217614 - capella beforeProcessEpoch 109.00 ms/op 80.452 ms/op 1.35
mainnet_e217614 - capella processJustificationAndFinalization 21.810 us/op 17.341 us/op 1.26
mainnet_e217614 - capella processInactivityUpdates 23.500 ms/op 20.327 ms/op 1.16
mainnet_e217614 - capella processRewardsAndPenalties 301.17 ms/op 247.42 ms/op 1.22
mainnet_e217614 - capella processRegistryUpdates 26.250 us/op 18.912 us/op 1.39
mainnet_e217614 - capella processSlashings 1.1690 us/op 1.7500 us/op 0.67
mainnet_e217614 - capella processEth1DataReset 870.00 ns/op 819.00 ns/op 1.06
mainnet_e217614 - capella processEffectiveBalanceUpdates 17.334 ms/op 18.384 ms/op 0.94
mainnet_e217614 - capella processSlashingsReset 7.9910 us/op 8.3470 us/op 0.96
mainnet_e217614 - capella processRandaoMixesReset 7.2830 us/op 6.6240 us/op 1.10
mainnet_e217614 - capella processHistoricalRootsUpdate 706.00 ns/op 883.00 ns/op 0.80
mainnet_e217614 - capella processParticipationFlagUpdates 2.3080 us/op 3.0620 us/op 0.75
mainnet_e217614 - capella afterProcessEpoch 124.92 ms/op 135.77 ms/op 0.92
phase0 processEpoch - mainnet_e58758 327.73 ms/op 356.94 ms/op 0.92
mainnet_e58758 - phase0 beforeProcessEpoch 80.480 ms/op 104.34 ms/op 0.77
mainnet_e58758 - phase0 processJustificationAndFinalization 17.335 us/op 18.855 us/op 0.92
mainnet_e58758 - phase0 processRewardsAndPenalties 32.254 ms/op 22.626 ms/op 1.43
mainnet_e58758 - phase0 processRegistryUpdates 9.4150 us/op 10.449 us/op 0.90
mainnet_e58758 - phase0 processSlashings 706.00 ns/op 559.00 ns/op 1.26
mainnet_e58758 - phase0 processEth1DataReset 523.00 ns/op 465.00 ns/op 1.12
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.5994 ms/op 1.2448 ms/op 1.28
mainnet_e58758 - phase0 processSlashingsReset 4.5520 us/op 4.9140 us/op 0.93
mainnet_e58758 - phase0 processRandaoMixesReset 5.2100 us/op 6.5380 us/op 0.80
mainnet_e58758 - phase0 processHistoricalRootsUpdate 523.00 ns/op 850.00 ns/op 0.62
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.3840 us/op 4.0240 us/op 1.09
mainnet_e58758 - phase0 afterProcessEpoch 43.259 ms/op 45.942 ms/op 0.94
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3281 ms/op 1.4330 ms/op 0.93
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.9473 ms/op 2.2870 ms/op 0.85
altair processInactivityUpdates - 250000 normalcase 20.159 ms/op 18.418 ms/op 1.09
altair processInactivityUpdates - 250000 worstcase 21.789 ms/op 18.220 ms/op 1.20
phase0 processRegistryUpdates - 250000 normalcase 13.568 us/op 12.650 us/op 1.07
phase0 processRegistryUpdates - 250000 badcase_full_deposits 509.86 us/op 324.54 us/op 1.57
phase0 processRegistryUpdates - 250000 worstcase 0.5 118.79 ms/op 123.54 ms/op 0.96
altair processRewardsAndPenalties - 250000 normalcase 45.314 ms/op 40.173 ms/op 1.13
altair processRewardsAndPenalties - 250000 worstcase 48.618 ms/op 41.678 ms/op 1.17
phase0 getAttestationDeltas - 250000 normalcase 7.6407 ms/op 9.7855 ms/op 0.78
phase0 getAttestationDeltas - 250000 worstcase 7.6107 ms/op 8.1581 ms/op 0.93
phase0 processSlashings - 250000 worstcase 122.80 us/op 88.620 us/op 1.39
altair processSyncCommitteeUpdates - 250000 121.82 ms/op 136.98 ms/op 0.89
BeaconState.hashTreeRoot - No change 254.00 ns/op 270.00 ns/op 0.94
BeaconState.hashTreeRoot - 1 full validator 130.73 us/op 123.48 us/op 1.06
BeaconState.hashTreeRoot - 32 full validator 1.5576 ms/op 1.1997 ms/op 1.30
BeaconState.hashTreeRoot - 512 full validator 11.909 ms/op 10.103 ms/op 1.18
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 154.81 us/op 119.19 us/op 1.30
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.8746 ms/op 1.5506 ms/op 1.21
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 31.104 ms/op 19.699 ms/op 1.58
BeaconState.hashTreeRoot - 1 balances 111.78 us/op 97.625 us/op 1.14
BeaconState.hashTreeRoot - 32 balances 1.0832 ms/op 874.22 us/op 1.24
BeaconState.hashTreeRoot - 512 balances 7.6821 ms/op 8.1950 ms/op 0.94
BeaconState.hashTreeRoot - 250000 balances 172.55 ms/op 170.69 ms/op 1.01
aggregationBits - 2048 els - zipIndexesInBitList 24.769 us/op 28.054 us/op 0.88
byteArrayEquals 32 53.540 ns/op 59.763 ns/op 0.90
Buffer.compare 32 17.137 ns/op 19.830 ns/op 0.86
byteArrayEquals 1024 1.5865 us/op 1.7725 us/op 0.90
Buffer.compare 1024 24.577 ns/op 29.274 ns/op 0.84
byteArrayEquals 16384 25.218 us/op 27.654 us/op 0.91
Buffer.compare 16384 196.96 ns/op 219.61 ns/op 0.90
byteArrayEquals 123687377 193.09 ms/op 209.90 ms/op 0.92
Buffer.compare 123687377 8.8416 ms/op 8.6221 ms/op 1.03
byteArrayEquals 32 - diff last byte 54.507 ns/op 56.255 ns/op 0.97
Buffer.compare 32 - diff last byte 17.730 ns/op 18.716 ns/op 0.95
byteArrayEquals 1024 - diff last byte 1.6242 us/op 1.6735 us/op 0.97
Buffer.compare 1024 - diff last byte 26.201 ns/op 26.127 ns/op 1.00
byteArrayEquals 16384 - diff last byte 25.444 us/op 26.551 us/op 0.96
Buffer.compare 16384 - diff last byte 196.83 ns/op 208.07 ns/op 0.95
byteArrayEquals 123687377 - diff last byte 197.19 ms/op 199.66 ms/op 0.99
Buffer.compare 123687377 - diff last byte 9.8750 ms/op 6.8407 ms/op 1.44
byteArrayEquals 32 - random bytes 5.3410 ns/op 5.2910 ns/op 1.01
Buffer.compare 32 - random bytes 17.772 ns/op 17.575 ns/op 1.01
byteArrayEquals 1024 - random bytes 5.6130 ns/op 5.2740 ns/op 1.06
Buffer.compare 1024 - random bytes 19.075 ns/op 17.678 ns/op 1.08
byteArrayEquals 16384 - random bytes 5.6820 ns/op 5.2980 ns/op 1.07
Buffer.compare 16384 - random bytes 19.172 ns/op 17.565 ns/op 1.09
byteArrayEquals 123687377 - random bytes 7.3100 ns/op 6.6900 ns/op 1.09
Buffer.compare 123687377 - random bytes 21.210 ns/op 18.880 ns/op 1.12
regular array get 100000 times 39.416 us/op 43.506 us/op 0.91
wrappedArray get 100000 times 34.073 us/op 35.321 us/op 0.96
arrayWithProxy get 100000 times 13.492 ms/op 12.636 ms/op 1.07
ssz.Root.equals 48.665 ns/op 47.002 ns/op 1.04
byteArrayEquals 48.822 ns/op 46.838 ns/op 1.04
Buffer.compare 11.543 ns/op 10.536 ns/op 1.10
processSlot - 1 slots 16.494 us/op 13.239 us/op 1.25
processSlot - 32 slots 3.3118 ms/op 2.9151 ms/op 1.14
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 46.433 ms/op 35.472 ms/op 1.31
getCommitteeAssignments - req 1 vs - 250000 vc 2.3647 ms/op 2.1735 ms/op 1.09
getCommitteeAssignments - req 100 vs - 250000 vc 4.4084 ms/op 4.2247 ms/op 1.04
getCommitteeAssignments - req 1000 vs - 250000 vc 4.7828 ms/op 4.5705 ms/op 1.05
findModifiedValidators - 10000 modified validators 524.34 ms/op 261.29 ms/op 2.01
findModifiedValidators - 1000 modified validators 328.97 ms/op 245.11 ms/op 1.34
findModifiedValidators - 100 modified validators 303.98 ms/op 195.84 ms/op 1.55
findModifiedValidators - 10 modified validators 261.55 ms/op 189.36 ms/op 1.38
findModifiedValidators - 1 modified validators 263.79 ms/op 177.98 ms/op 1.48
findModifiedValidators - no difference 212.44 ms/op 185.25 ms/op 1.15
compare ViewDUs 3.3978 s/op 3.3121 s/op 1.03
compare each validator Uint8Array 1.6958 s/op 1.8383 s/op 0.92
compare ViewDU to Uint8Array 1.0108 s/op 1.4073 s/op 0.72
migrate state 1000000 validators, 24 modified, 0 new 755.62 ms/op 967.85 ms/op 0.78
migrate state 1000000 validators, 1700 modified, 1000 new 1.1092 s/op 1.1327 s/op 0.98
migrate state 1000000 validators, 3400 modified, 2000 new 1.3594 s/op 1.2316 s/op 1.10
migrate state 1500000 validators, 24 modified, 0 new 884.35 ms/op 752.72 ms/op 1.17
migrate state 1500000 validators, 1700 modified, 1000 new 1.0533 s/op 1.2026 s/op 0.88
migrate state 1500000 validators, 3400 modified, 2000 new 1.3015 s/op 1.3114 s/op 0.99
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.1600 ns/op 5.5000 ns/op 0.94
state getBlockRootAtSlot - 250000 vs - 7PWei 658.44 ns/op 995.44 ns/op 0.66
computeProposers - vc 250000 7.9364 ms/op 8.2682 ms/op 0.96
computeEpochShuffling - vc 250000 44.200 ms/op 47.975 ms/op 0.92
getNextSyncCommittee - vc 250000 141.04 ms/op 148.10 ms/op 0.95
computeSigningRoot for AttestationData 23.515 us/op 25.963 us/op 0.91
hash AttestationData serialized data then Buffer.toString(base64) 1.6645 us/op 1.8524 us/op 0.90
toHexString serialized data 1.0407 us/op 1.2352 us/op 0.84
Buffer.toString(base64) 202.03 ns/op 230.95 ns/op 0.87
nodejs block root to RootHex using toHex 176.46 ns/op 181.53 ns/op 0.97
nodejs block root to RootHex using toRootHex 98.886 ns/op 113.03 ns/op 0.87
browser block root to RootHex using the deprecated toHexString 247.05 ns/op 304.67 ns/op 0.81
browser block root to RootHex using toHex 199.53 ns/op 253.53 ns/op 0.79
browser block root to RootHex using toRootHex 174.84 ns/op 198.02 ns/op 0.88

by benchmarkbot/action

@nazarhussain nazarhussain merged commit e6a0cb2 into unstable Jan 10, 2025
22 checks passed
@nazarhussain nazarhussain deleted the nflaig/fix-sim-merge branch January 10, 2025 09:03
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