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: fix format of printed graffiti from hex to utf-8 #7306

Merged
merged 2 commits into from
Dec 19, 2024

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Dec 16, 2024

Follow up to #7303, forgot we pass the graffiti around as Buffer and the logger formats it to hex internally but we want this to be formatted utf-8 in logs.

Properly tested it this time :)

@nflaig nflaig requested a review from a team as a code owner December 16, 2024 19:45
Copy link

codecov bot commented Dec 16, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 48.75%. Comparing base (3f3c7fc) to head (1ddc82c).
Report is 5 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #7306      +/-   ##
============================================
- Coverage     48.76%   48.75%   -0.02%     
============================================
  Files           601      601              
  Lines         40203    40214      +11     
  Branches       2061     2061              
============================================
+ Hits          19607    19608       +1     
- Misses        20558    20568      +10     
  Partials         38       38              

Copy link
Contributor

github-actions bot commented Dec 16, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 694b7d2 Previous: 7cd296b Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.6155 ms/op 2.1593 ms/op 1.21
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 88.494 us/op 51.437 us/op 1.72
BLS verify - blst 1.0757 ms/op 868.65 us/op 1.24
BLS verifyMultipleSignatures 3 - blst 1.6512 ms/op 1.2328 ms/op 1.34
BLS verifyMultipleSignatures 8 - blst 2.5353 ms/op 1.7059 ms/op 1.49
BLS verifyMultipleSignatures 32 - blst 7.2341 ms/op 5.0259 ms/op 1.44
BLS verifyMultipleSignatures 64 - blst 13.555 ms/op 9.2350 ms/op 1.47
BLS verifyMultipleSignatures 128 - blst 24.181 ms/op 17.540 ms/op 1.38
BLS deserializing 10000 signatures 769.69 ms/op 701.23 ms/op 1.10
BLS deserializing 100000 signatures 7.8541 s/op 6.8895 s/op 1.14
BLS verifyMultipleSignatures - same message - 3 - blst 1.2427 ms/op 839.24 us/op 1.48
BLS verifyMultipleSignatures - same message - 8 - blst 1.3315 ms/op 978.62 us/op 1.36
BLS verifyMultipleSignatures - same message - 32 - blst 1.9112 ms/op 1.6613 ms/op 1.15
BLS verifyMultipleSignatures - same message - 64 - blst 2.9169 ms/op 2.5770 ms/op 1.13
BLS verifyMultipleSignatures - same message - 128 - blst 5.0259 ms/op 4.3364 ms/op 1.16
BLS aggregatePubkeys 32 - blst 21.768 us/op 19.713 us/op 1.10
BLS aggregatePubkeys 128 - blst 75.225 us/op 70.356 us/op 1.07
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 100.20 ms/op 50.963 ms/op 1.97
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 79.064 ms/op 46.474 ms/op 1.70
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 52.547 ms/op 43.698 ms/op 1.20
getSlashingsAndExits - default max 114.22 us/op 95.463 us/op 1.20
getSlashingsAndExits - 2k 372.06 us/op 260.06 us/op 1.43
proposeBlockBody type=full, size=empty 7.5468 ms/op 5.9088 ms/op 1.28
isKnown best case - 1 super set check 497.00 ns/op 276.00 ns/op 1.80
isKnown normal case - 2 super set checks 396.00 ns/op 265.00 ns/op 1.49
isKnown worse case - 16 super set checks 429.00 ns/op 267.00 ns/op 1.61
InMemoryCheckpointStateCache - add get delete 3.3520 us/op 2.8490 us/op 1.18
validate api signedAggregateAndProof - struct 1.6580 ms/op 1.3695 ms/op 1.21
validate gossip signedAggregateAndProof - struct 1.7046 ms/op 1.3907 ms/op 1.23
batch validate gossip attestation - vc 640000 - chunk 32 154.24 us/op 124.18 us/op 1.24
batch validate gossip attestation - vc 640000 - chunk 64 149.32 us/op 108.14 us/op 1.38
batch validate gossip attestation - vc 640000 - chunk 128 152.84 us/op 105.10 us/op 1.45
batch validate gossip attestation - vc 640000 - chunk 256 131.28 us/op 103.07 us/op 1.27
pickEth1Vote - no votes 1.2231 ms/op 1.0461 ms/op 1.17
pickEth1Vote - max votes 8.9147 ms/op 5.8839 ms/op 1.52
pickEth1Vote - Eth1Data hashTreeRoot value x2048 18.168 ms/op 19.592 ms/op 0.93
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 26.386 ms/op 18.837 ms/op 1.40
pickEth1Vote - Eth1Data fastSerialize value x2048 596.41 us/op 445.26 us/op 1.34
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.7702 ms/op 3.1976 ms/op 1.18
bytes32 toHexString 747.00 ns/op 421.00 ns/op 1.77
bytes32 Buffer.toString(hex) 309.00 ns/op 250.00 ns/op 1.24
bytes32 Buffer.toString(hex) from Uint8Array 530.00 ns/op 358.00 ns/op 1.48
bytes32 Buffer.toString(hex) + 0x 286.00 ns/op 246.00 ns/op 1.16
Object access 1 prop 0.19600 ns/op 0.13100 ns/op 1.50
Map access 1 prop 0.13700 ns/op 0.13000 ns/op 1.05
Object get x1000 6.2880 ns/op 6.0890 ns/op 1.03
Map get x1000 6.8390 ns/op 6.2860 ns/op 1.09
Object set x1000 56.012 ns/op 31.731 ns/op 1.77
Map set x1000 43.825 ns/op 21.883 ns/op 2.00
Return object 10000 times 0.34600 ns/op 0.28510 ns/op 1.21
Throw Error 10000 times 4.1321 us/op 3.3725 us/op 1.23
toHex 224.38 ns/op 156.85 ns/op 1.43
Buffer.from 230.52 ns/op 135.90 ns/op 1.70
shared Buffer 118.63 ns/op 93.813 ns/op 1.26
fastMsgIdFn sha256 / 200 bytes 2.8510 us/op 2.2660 us/op 1.26
fastMsgIdFn h32 xxhash / 200 bytes 369.00 ns/op 228.00 ns/op 1.62
fastMsgIdFn h64 xxhash / 200 bytes 397.00 ns/op 262.00 ns/op 1.52
fastMsgIdFn sha256 / 1000 bytes 9.1240 us/op 7.3390 us/op 1.24
fastMsgIdFn h32 xxhash / 1000 bytes 514.00 ns/op 359.00 ns/op 1.43
fastMsgIdFn h64 xxhash / 1000 bytes 421.00 ns/op 341.00 ns/op 1.23
fastMsgIdFn sha256 / 10000 bytes 74.650 us/op 63.281 us/op 1.18
fastMsgIdFn h32 xxhash / 10000 bytes 2.0890 us/op 1.7940 us/op 1.16
fastMsgIdFn h64 xxhash / 10000 bytes 1.4010 us/op 1.1690 us/op 1.20
send data - 1000 256B messages 18.535 ms/op 12.098 ms/op 1.53
send data - 1000 512B messages 24.660 ms/op 16.784 ms/op 1.47
send data - 1000 1024B messages 36.829 ms/op 26.458 ms/op 1.39
send data - 1000 1200B messages 48.747 ms/op 25.042 ms/op 1.95
send data - 1000 2048B messages 52.312 ms/op 30.710 ms/op 1.70
send data - 1000 4096B messages 52.172 ms/op 30.865 ms/op 1.69
send data - 1000 16384B messages 151.80 ms/op 73.317 ms/op 2.07
send data - 1000 65536B messages 494.39 ms/op 207.05 ms/op 2.39
enrSubnets - fastDeserialize 64 bits 2.0290 us/op 1.1040 us/op 1.84
enrSubnets - ssz BitVector 64 bits 553.00 ns/op 361.00 ns/op 1.53
enrSubnets - fastDeserialize 4 bits 244.00 ns/op 150.00 ns/op 1.63
enrSubnets - ssz BitVector 4 bits 571.00 ns/op 370.00 ns/op 1.54
prioritizePeers score -10:0 att 32-0.1 sync 2-0 239.25 us/op 169.52 us/op 1.41
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 278.32 us/op 147.80 us/op 1.88
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 477.00 us/op 242.83 us/op 1.96
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 705.12 us/op 394.65 us/op 1.79
prioritizePeers score 0:0 att 64-1 sync 4-1 1.4781 ms/op 599.96 us/op 2.46
array of 16000 items push then shift 2.0107 us/op 1.6364 us/op 1.23
LinkedList of 16000 items push then shift 18.039 ns/op 7.0750 ns/op 2.55
array of 16000 items push then pop 203.66 ns/op 124.80 ns/op 1.63
LinkedList of 16000 items push then pop 12.536 ns/op 7.2270 ns/op 1.73
array of 24000 items push then shift 3.0405 us/op 2.4329 us/op 1.25
LinkedList of 24000 items push then shift 13.539 ns/op 7.0940 ns/op 1.91
array of 24000 items push then pop 229.12 ns/op 129.96 ns/op 1.76
LinkedList of 24000 items push then pop 10.406 ns/op 7.4620 ns/op 1.39
intersect bitArray bitLen 8 7.1280 ns/op 6.1910 ns/op 1.15
intersect array and set length 8 101.63 ns/op 44.832 ns/op 2.27
intersect bitArray bitLen 128 32.406 ns/op 28.234 ns/op 1.15
intersect array and set length 128 1.1108 us/op 682.41 ns/op 1.63
bitArray.getTrueBitIndexes() bitLen 128 3.2080 us/op 1.7940 us/op 1.79
bitArray.getTrueBitIndexes() bitLen 248 5.9480 us/op 2.9970 us/op 1.98
bitArray.getTrueBitIndexes() bitLen 512 15.603 us/op 6.6270 us/op 2.35
Buffer.concat 32 items 1.3940 us/op 877.00 ns/op 1.59
Uint8Array.set 32 items 2.4250 us/op 1.4980 us/op 1.62
Buffer.copy 2.7040 us/op 1.7250 us/op 1.57
Uint8Array.set - with subarray 4.5880 us/op 2.6390 us/op 1.74
Uint8Array.set - without subarray 2.3650 us/op 1.5540 us/op 1.52
getUint32 - dataview 406.00 ns/op 227.00 ns/op 1.79
getUint32 - manual 367.00 ns/op 150.00 ns/op 2.45
Set add up to 64 items then delete first 3.7859 us/op 2.1812 us/op 1.74
OrderedSet add up to 64 items then delete first 5.9236 us/op 3.3461 us/op 1.77
Set add up to 64 items then delete last 4.1196 us/op 2.4431 us/op 1.69
OrderedSet add up to 64 items then delete last 6.6820 us/op 3.8514 us/op 1.73
Set add up to 64 items then delete middle 4.8288 us/op 2.5350 us/op 1.90
OrderedSet add up to 64 items then delete middle 9.5742 us/op 5.2368 us/op 1.83
Set add up to 128 items then delete first 8.1975 us/op 4.9522 us/op 1.66
OrderedSet add up to 128 items then delete first 13.904 us/op 7.3530 us/op 1.89
Set add up to 128 items then delete last 8.1455 us/op 4.9989 us/op 1.63
OrderedSet add up to 128 items then delete last 13.514 us/op 7.7791 us/op 1.74
Set add up to 128 items then delete middle 7.5273 us/op 4.9431 us/op 1.52
OrderedSet add up to 128 items then delete middle 19.003 us/op 13.504 us/op 1.41
Set add up to 256 items then delete first 15.199 us/op 10.130 us/op 1.50
OrderedSet add up to 256 items then delete first 24.134 us/op 15.078 us/op 1.60
Set add up to 256 items then delete last 15.504 us/op 9.8837 us/op 1.57
OrderedSet add up to 256 items then delete last 25.134 us/op 15.599 us/op 1.61
Set add up to 256 items then delete middle 15.881 us/op 9.9349 us/op 1.60
OrderedSet add up to 256 items then delete middle 52.677 us/op 40.327 us/op 1.31
transfer serialized Status (84 B) 1.6360 us/op 1.3670 us/op 1.20
copy serialized Status (84 B) 1.5490 us/op 1.1550 us/op 1.34
transfer serialized SignedVoluntaryExit (112 B) 2.0210 us/op 1.4970 us/op 1.35
copy serialized SignedVoluntaryExit (112 B) 1.4600 us/op 1.1740 us/op 1.24
transfer serialized ProposerSlashing (416 B) 2.2140 us/op 2.2110 us/op 1.00
copy serialized ProposerSlashing (416 B) 2.5890 us/op 1.8540 us/op 1.40
transfer serialized Attestation (485 B) 3.0100 us/op 1.5990 us/op 1.88
copy serialized Attestation (485 B) 2.9900 us/op 1.8230 us/op 1.64
transfer serialized AttesterSlashing (33232 B) 4.0300 us/op 2.5300 us/op 1.59
copy serialized AttesterSlashing (33232 B) 11.216 us/op 5.2980 us/op 2.12
transfer serialized Small SignedBeaconBlock (128000 B) 5.0390 us/op 3.0270 us/op 1.66
copy serialized Small SignedBeaconBlock (128000 B) 36.881 us/op 14.373 us/op 2.57
transfer serialized Avg SignedBeaconBlock (200000 B) 6.4990 us/op 3.5590 us/op 1.83
copy serialized Avg SignedBeaconBlock (200000 B) 59.065 us/op 20.133 us/op 2.93
transfer serialized BlobsSidecar (524380 B) 8.4160 us/op 3.2310 us/op 2.60
copy serialized BlobsSidecar (524380 B) 169.80 us/op 79.338 us/op 2.14
transfer serialized Big SignedBeaconBlock (1000000 B) 7.9090 us/op 3.0660 us/op 2.58
copy serialized Big SignedBeaconBlock (1000000 B) 259.95 us/op 150.18 us/op 1.73
pass gossip attestations to forkchoice per slot 3.1895 ms/op 2.8181 ms/op 1.13
forkChoice updateHead vc 100000 bc 64 eq 0 511.98 us/op 453.06 us/op 1.13
forkChoice updateHead vc 600000 bc 64 eq 0 4.3062 ms/op 2.7395 ms/op 1.57
forkChoice updateHead vc 1000000 bc 64 eq 0 6.3451 ms/op 4.8228 ms/op 1.32
forkChoice updateHead vc 600000 bc 320 eq 0 3.2161 ms/op 2.7927 ms/op 1.15
forkChoice updateHead vc 600000 bc 1200 eq 0 3.4303 ms/op 2.8485 ms/op 1.20
forkChoice updateHead vc 600000 bc 7200 eq 0 4.8465 ms/op 3.4471 ms/op 1.41
forkChoice updateHead vc 600000 bc 64 eq 1000 11.636 ms/op 10.306 ms/op 1.13
forkChoice updateHead vc 600000 bc 64 eq 10000 11.213 ms/op 10.648 ms/op 1.05
forkChoice updateHead vc 600000 bc 64 eq 300000 24.163 ms/op 13.456 ms/op 1.80
computeDeltas 500000 validators 300 proto nodes 4.6824 ms/op 3.8810 ms/op 1.21
computeDeltas 500000 validators 1200 proto nodes 4.7576 ms/op 3.8846 ms/op 1.22
computeDeltas 500000 validators 7200 proto nodes 4.5854 ms/op 3.9146 ms/op 1.17
computeDeltas 750000 validators 300 proto nodes 6.3624 ms/op 5.7342 ms/op 1.11
computeDeltas 750000 validators 1200 proto nodes 6.2868 ms/op 5.7394 ms/op 1.10
computeDeltas 750000 validators 7200 proto nodes 6.3281 ms/op 5.7522 ms/op 1.10
computeDeltas 1400000 validators 300 proto nodes 11.657 ms/op 10.890 ms/op 1.07
computeDeltas 1400000 validators 1200 proto nodes 11.802 ms/op 11.237 ms/op 1.05
computeDeltas 1400000 validators 7200 proto nodes 12.019 ms/op 11.447 ms/op 1.05
computeDeltas 2100000 validators 300 proto nodes 18.757 ms/op 17.096 ms/op 1.10
computeDeltas 2100000 validators 1200 proto nodes 20.415 ms/op 17.219 ms/op 1.19
computeDeltas 2100000 validators 7200 proto nodes 20.224 ms/op 16.359 ms/op 1.24
altair processAttestation - 250000 vs - 7PWei normalcase 2.7532 ms/op 1.6332 ms/op 1.69
altair processAttestation - 250000 vs - 7PWei worstcase 3.7862 ms/op 2.5388 ms/op 1.49
altair processAttestation - setStatus - 1/6 committees join 144.29 us/op 85.035 us/op 1.70
altair processAttestation - setStatus - 1/3 committees join 192.32 us/op 171.28 us/op 1.12
altair processAttestation - setStatus - 1/2 committees join 284.30 us/op 243.55 us/op 1.17
altair processAttestation - setStatus - 2/3 committees join 365.07 us/op 322.27 us/op 1.13
altair processAttestation - setStatus - 4/5 committees join 515.03 us/op 456.60 us/op 1.13
altair processAttestation - setStatus - 100% committees join 631.82 us/op 538.38 us/op 1.17
altair processBlock - 250000 vs - 7PWei normalcase 5.7548 ms/op 3.8267 ms/op 1.50
altair processBlock - 250000 vs - 7PWei normalcase hashState 29.785 ms/op 27.789 ms/op 1.07
altair processBlock - 250000 vs - 7PWei worstcase 42.035 ms/op 33.917 ms/op 1.24
altair processBlock - 250000 vs - 7PWei worstcase hashState 81.169 ms/op 65.694 ms/op 1.24
phase0 processBlock - 250000 vs - 7PWei normalcase 3.1536 ms/op 1.6941 ms/op 1.86
phase0 processBlock - 250000 vs - 7PWei worstcase 28.837 ms/op 19.970 ms/op 1.44
altair processEth1Data - 250000 vs - 7PWei normalcase 559.02 us/op 284.67 us/op 1.96
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 5.8270 us/op 4.9730 us/op 1.17
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 45.021 us/op 27.218 us/op 1.65
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 12.333 us/op 7.8320 us/op 1.57
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 6.2840 us/op 5.2560 us/op 1.20
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 184.51 us/op 112.73 us/op 1.64
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.0780 ms/op 1.1225 ms/op 0.96
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.8073 ms/op 1.5925 ms/op 1.13
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.7713 ms/op 1.5876 ms/op 1.12
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.2790 ms/op 3.7245 ms/op 1.15
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.8340 ms/op 1.6464 ms/op 1.11
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.4779 ms/op 3.6636 ms/op 1.22
Tree 40 250000 create 315.79 ms/op 206.24 ms/op 1.53
Tree 40 250000 get(125000) 175.73 ns/op 138.66 ns/op 1.27
Tree 40 250000 set(125000) 861.99 ns/op 622.26 ns/op 1.39
Tree 40 250000 toArray() 22.973 ms/op 15.471 ms/op 1.48
Tree 40 250000 iterate all - toArray() + loop 23.979 ms/op 15.536 ms/op 1.54
Tree 40 250000 iterate all - get(i) 64.623 ms/op 50.289 ms/op 1.29
Array 250000 create 4.3234 ms/op 2.8420 ms/op 1.52
Array 250000 clone - spread 1.6675 ms/op 1.4081 ms/op 1.18
Array 250000 get(125000) 0.47500 ns/op 0.40700 ns/op 1.17
Array 250000 set(125000) 0.51700 ns/op 0.42500 ns/op 1.22
Array 250000 iterate all - loop 92.288 us/op 108.02 us/op 0.85
phase0 afterProcessEpoch - 250000 vs - 7PWei 57.144 ms/op 49.478 ms/op 1.15
Array.fill - length 1000000 5.2805 ms/op 3.4760 ms/op 1.52
Array push - length 1000000 25.699 ms/op 16.520 ms/op 1.56
Array.get 0.29441 ns/op 0.27098 ns/op 1.09
Uint8Array.get 0.53148 ns/op 0.43169 ns/op 1.23
phase0 beforeProcessEpoch - 250000 vs - 7PWei 22.570 ms/op 17.611 ms/op 1.28
altair processEpoch - mainnet_e81889 308.81 ms/op 267.97 ms/op 1.15
mainnet_e81889 - altair beforeProcessEpoch 24.780 ms/op 17.905 ms/op 1.38
mainnet_e81889 - altair processJustificationAndFinalization 14.095 us/op 12.314 us/op 1.14
mainnet_e81889 - altair processInactivityUpdates 6.9190 ms/op 5.0480 ms/op 1.37
mainnet_e81889 - altair processRewardsAndPenalties 52.690 ms/op 42.383 ms/op 1.24
mainnet_e81889 - altair processRegistryUpdates 3.1090 us/op 1.7240 us/op 1.80
mainnet_e81889 - altair processSlashings 1.5690 us/op 407.00 ns/op 3.86
mainnet_e81889 - altair processEth1DataReset 1.2700 us/op 270.00 ns/op 4.70
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.7920 ms/op 1.9404 ms/op 0.92
mainnet_e81889 - altair processSlashingsReset 5.3790 us/op 3.8820 us/op 1.39
mainnet_e81889 - altair processRandaoMixesReset 6.6970 us/op 4.2130 us/op 1.59
mainnet_e81889 - altair processHistoricalRootsUpdate 864.00 ns/op 470.00 ns/op 1.84
mainnet_e81889 - altair processParticipationFlagUpdates 3.6840 us/op 2.0320 us/op 1.81
mainnet_e81889 - altair processSyncCommitteeUpdates 544.00 ns/op 414.00 ns/op 1.31
mainnet_e81889 - altair afterProcessEpoch 54.375 ms/op 48.728 ms/op 1.12
capella processEpoch - mainnet_e217614 1.0904 s/op 1.0293 s/op 1.06
mainnet_e217614 - capella beforeProcessEpoch 98.306 ms/op 66.293 ms/op 1.48
mainnet_e217614 - capella processJustificationAndFinalization 17.438 us/op 14.509 us/op 1.20
mainnet_e217614 - capella processInactivityUpdates 20.407 ms/op 16.404 ms/op 1.24
mainnet_e217614 - capella processRewardsAndPenalties 248.65 ms/op 224.07 ms/op 1.11
mainnet_e217614 - capella processRegistryUpdates 14.006 us/op 12.199 us/op 1.15
mainnet_e217614 - capella processSlashings 385.00 ns/op 390.00 ns/op 0.99
mainnet_e217614 - capella processEth1DataReset 494.00 ns/op 299.00 ns/op 1.65
mainnet_e217614 - capella processEffectiveBalanceUpdates 15.284 ms/op 11.978 ms/op 1.28
mainnet_e217614 - capella processSlashingsReset 4.5040 us/op 2.3720 us/op 1.90
mainnet_e217614 - capella processRandaoMixesReset 9.3280 us/op 7.0040 us/op 1.33
mainnet_e217614 - capella processHistoricalRootsUpdate 743.00 ns/op 467.00 ns/op 1.59
mainnet_e217614 - capella processParticipationFlagUpdates 2.2280 us/op 1.9490 us/op 1.14
mainnet_e217614 - capella afterProcessEpoch 127.47 ms/op 121.43 ms/op 1.05
phase0 processEpoch - mainnet_e58758 337.34 ms/op 322.95 ms/op 1.04
mainnet_e58758 - phase0 beforeProcessEpoch 76.904 ms/op 65.813 ms/op 1.17
mainnet_e58758 - phase0 processJustificationAndFinalization 24.891 us/op 13.517 us/op 1.84
mainnet_e58758 - phase0 processRewardsAndPenalties 35.227 ms/op 28.646 ms/op 1.23
mainnet_e58758 - phase0 processRegistryUpdates 8.2180 us/op 8.0350 us/op 1.02
mainnet_e58758 - phase0 processSlashings 436.00 ns/op 382.00 ns/op 1.14
mainnet_e58758 - phase0 processEth1DataReset 602.00 ns/op 281.00 ns/op 2.14
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.5417 ms/op 1.1657 ms/op 1.32
mainnet_e58758 - phase0 processSlashingsReset 3.6660 us/op 3.1790 us/op 1.15
mainnet_e58758 - phase0 processRandaoMixesReset 5.0270 us/op 3.5130 us/op 1.43
mainnet_e58758 - phase0 processHistoricalRootsUpdate 512.00 ns/op 334.00 ns/op 1.53
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.3900 us/op 2.8290 us/op 1.20
mainnet_e58758 - phase0 afterProcessEpoch 45.806 ms/op 41.768 ms/op 1.10
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4070 ms/op 1.3966 ms/op 1.01
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.7514 ms/op 2.2918 ms/op 1.20
altair processInactivityUpdates - 250000 normalcase 19.789 ms/op 13.855 ms/op 1.43
altair processInactivityUpdates - 250000 worstcase 20.772 ms/op 14.153 ms/op 1.47
phase0 processRegistryUpdates - 250000 normalcase 10.588 us/op 6.7530 us/op 1.57
phase0 processRegistryUpdates - 250000 badcase_full_deposits 389.29 us/op 241.59 us/op 1.61
phase0 processRegistryUpdates - 250000 worstcase 0.5 139.19 ms/op 114.94 ms/op 1.21
altair processRewardsAndPenalties - 250000 normalcase 40.014 ms/op 36.020 ms/op 1.11
altair processRewardsAndPenalties - 250000 worstcase 42.706 ms/op 34.768 ms/op 1.23
phase0 getAttestationDeltas - 250000 normalcase 11.171 ms/op 7.5755 ms/op 1.47
phase0 getAttestationDeltas - 250000 worstcase 8.4873 ms/op 7.1731 ms/op 1.18
phase0 processSlashings - 250000 worstcase 120.19 us/op 76.235 us/op 1.58
altair processSyncCommitteeUpdates - 250000 156.99 ms/op 118.09 ms/op 1.33
BeaconState.hashTreeRoot - No change 265.00 ns/op 217.00 ns/op 1.22
BeaconState.hashTreeRoot - 1 full validator 164.29 us/op 101.16 us/op 1.62
BeaconState.hashTreeRoot - 32 full validator 1.6555 ms/op 1.3882 ms/op 1.19
BeaconState.hashTreeRoot - 512 full validator 13.858 ms/op 10.513 ms/op 1.32
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 152.49 us/op 133.52 us/op 1.14
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.0425 ms/op 1.7057 ms/op 1.20
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 30.099 ms/op 22.304 ms/op 1.35
BeaconState.hashTreeRoot - 1 balances 121.74 us/op 111.30 us/op 1.09
BeaconState.hashTreeRoot - 32 balances 1.1668 ms/op 1.1204 ms/op 1.04
BeaconState.hashTreeRoot - 512 balances 10.626 ms/op 8.8098 ms/op 1.21
BeaconState.hashTreeRoot - 250000 balances 187.41 ms/op 179.77 ms/op 1.04
aggregationBits - 2048 els - zipIndexesInBitList 41.725 us/op 22.243 us/op 1.88
byteArrayEquals 32 61.191 ns/op 51.490 ns/op 1.19
Buffer.compare 32 19.606 ns/op 16.503 ns/op 1.19
byteArrayEquals 1024 1.7439 us/op 1.5230 us/op 1.15
Buffer.compare 1024 28.039 ns/op 24.620 ns/op 1.14
byteArrayEquals 16384 27.595 us/op 24.259 us/op 1.14
Buffer.compare 16384 226.01 ns/op 197.40 ns/op 1.14
byteArrayEquals 123687377 199.45 ms/op 183.82 ms/op 1.08
Buffer.compare 123687377 8.8412 ms/op 6.1821 ms/op 1.43
byteArrayEquals 32 - diff last byte 54.143 ns/op 50.491 ns/op 1.07
Buffer.compare 32 - diff last byte 18.105 ns/op 16.498 ns/op 1.10
byteArrayEquals 1024 - diff last byte 1.6357 us/op 1.5231 us/op 1.07
Buffer.compare 1024 - diff last byte 27.022 ns/op 24.185 ns/op 1.12
byteArrayEquals 16384 - diff last byte 26.003 us/op 24.225 us/op 1.07
Buffer.compare 16384 - diff last byte 206.13 ns/op 199.47 ns/op 1.03
byteArrayEquals 123687377 - diff last byte 199.86 ms/op 183.26 ms/op 1.09
Buffer.compare 123687377 - diff last byte 8.3074 ms/op 6.2660 ms/op 1.33
byteArrayEquals 32 - random bytes 5.5280 ns/op 4.9480 ns/op 1.12
Buffer.compare 32 - random bytes 18.469 ns/op 16.548 ns/op 1.12
byteArrayEquals 1024 - random bytes 5.5800 ns/op 4.9430 ns/op 1.13
Buffer.compare 1024 - random bytes 18.588 ns/op 16.556 ns/op 1.12
byteArrayEquals 16384 - random bytes 5.4340 ns/op 4.9460 ns/op 1.10
Buffer.compare 16384 - random bytes 18.391 ns/op 16.508 ns/op 1.11
byteArrayEquals 123687377 - random bytes 6.7000 ns/op 6.2000 ns/op 1.08
Buffer.compare 123687377 - random bytes 19.540 ns/op 17.790 ns/op 1.10
regular array get 100000 times 45.688 us/op 31.852 us/op 1.43
wrappedArray get 100000 times 34.006 us/op 31.747 us/op 1.07
arrayWithProxy get 100000 times 13.686 ms/op 12.573 ms/op 1.09
ssz.Root.equals 48.898 ns/op 44.087 ns/op 1.11
byteArrayEquals 47.649 ns/op 43.442 ns/op 1.10
Buffer.compare 11.085 ns/op 10.019 ns/op 1.11
processSlot - 1 slots 14.274 us/op 14.549 us/op 0.98
processSlot - 32 slots 3.2285 ms/op 2.8234 ms/op 1.14
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 38.252 ms/op 35.720 ms/op 1.07
getCommitteeAssignments - req 1 vs - 250000 vc 2.2452 ms/op 2.0919 ms/op 1.07
getCommitteeAssignments - req 100 vs - 250000 vc 4.2886 ms/op 4.0451 ms/op 1.06
getCommitteeAssignments - req 1000 vs - 250000 vc 4.6200 ms/op 4.2613 ms/op 1.08
findModifiedValidators - 10000 modified validators 264.34 ms/op 255.77 ms/op 1.03
findModifiedValidators - 1000 modified validators 206.83 ms/op 192.16 ms/op 1.08
findModifiedValidators - 100 modified validators 183.83 ms/op 158.04 ms/op 1.16
findModifiedValidators - 10 modified validators 195.17 ms/op 152.86 ms/op 1.28
findModifiedValidators - 1 modified validators 181.73 ms/op 149.13 ms/op 1.22
findModifiedValidators - no difference 171.46 ms/op 164.02 ms/op 1.05
compare ViewDUs 3.4189 s/op 2.9447 s/op 1.16
compare each validator Uint8Array 1.4278 s/op 1.1038 s/op 1.29
compare ViewDU to Uint8Array 1.3251 s/op 1.0276 s/op 1.29
migrate state 1000000 validators, 24 modified, 0 new 881.47 ms/op 737.26 ms/op 1.20
migrate state 1000000 validators, 1700 modified, 1000 new 1.1775 s/op 982.13 ms/op 1.20
migrate state 1000000 validators, 3400 modified, 2000 new 1.4351 s/op 1.1578 s/op 1.24
migrate state 1500000 validators, 24 modified, 0 new 951.22 ms/op 682.64 ms/op 1.39
migrate state 1500000 validators, 1700 modified, 1000 new 1.2416 s/op 920.34 ms/op 1.35
migrate state 1500000 validators, 3400 modified, 2000 new 1.6521 s/op 1.2039 s/op 1.37
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.0800 ns/op 4.5900 ns/op 1.32
state getBlockRootAtSlot - 250000 vs - 7PWei 732.61 ns/op 491.91 ns/op 1.49
computeProposers - vc 250000 10.010 ms/op 6.9508 ms/op 1.44
computeEpochShuffling - vc 250000 47.633 ms/op 42.145 ms/op 1.13
getNextSyncCommittee - vc 250000 185.19 ms/op 125.18 ms/op 1.48
computeSigningRoot for AttestationData 27.990 us/op 23.094 us/op 1.21
hash AttestationData serialized data then Buffer.toString(base64) 1.9455 us/op 1.6075 us/op 1.21
toHexString serialized data 1.7671 us/op 905.27 ns/op 1.95
Buffer.toString(base64) 256.84 ns/op 176.86 ns/op 1.45
nodejs block root to RootHex using toHex 182.36 ns/op 155.06 ns/op 1.18
nodejs block root to RootHex using toRootHex 112.00 ns/op 92.678 ns/op 1.21
browser block root to RootHex using the deprecated toHexString 341.05 ns/op 228.94 ns/op 1.49
browser block root to RootHex using toHex 263.71 ns/op 182.56 ns/op 1.44
browser block root to RootHex using toRootHex 190.57 ns/op 164.75 ns/op 1.16

by benchmarkbot/action

@nflaig nflaig merged commit 8c7eaf8 into unstable Dec 19, 2024
19 of 20 checks passed
@nflaig nflaig deleted the nflaig/fix-graffiti branch December 19, 2024 09:35
wemeetagain added a commit that referenced this pull request Dec 20, 2024
* feat: add keymanager endpoint to retrieve proposer config (#7210)

* feat: add keymanager endpoint to retrieve proposer config

* Do not return empty builder config

* Check all builder proposer config values

* Fix settings builder config if undefined

* Fix builder config parsing

* Use ssz type to handle json serialization

Default parsing can't handle BigInt

* Revert "Use ssz type to handle json serialization"

This reverts commit 01fcea7.

* Fix boost factor json serialization

* Remove unused import

* Update test data

* Update proposer config test

* feat: add mekong network option (#7212)

* chore: fix import order with biome syntax (#7211)

Fix import order

* fix: consistently validate pubkey and throw 404 if not found (#7214)

* Throw error if pubkey is unknown when getting graffiti

* Consistently validate pubkey and throw 404 if not found

* fix: only return local keys from /eth/v1/keystores (#7215)

* fix: only return local keys from /eth/v1/keystores

* Fix fetching remote keys in node assertion

* feat: add and use getBlobsV1 to expedite gossip import (#7134)

* hookup the getblobs api to get bob and proof data from el

remove unused

fix import

metrics overhault, test, debugging testing, some feeback

fix

add nethermind bug dicussion link

fix

resolve conflicts

* deblobs timeout

* fix metric

* chore: revert async aggregate with randomness (#7218)

Revert "feat: asyncAggregateWithRandomness (#7204)"

This reverts commit e31d535.

* fix: update config for relaunched mekong network (#7220)

* fix: light client generating `LightClientUpdate` with wrong length of branches (#7187)

* initial commit

* Rewrite SyncCommitteeWitnessRepository

* Fix finality branch

* Update unit test

* fix e2e

* Review PR

---------

Co-authored-by: Nico Flaig <[email protected]>

* fix: archive finalized state when shutting down beacon node (#7221)

* Fix typo

* feat: remove unfinalized pubkey cache (#7230)

* Remove unfinalized pubkey cache

* lint

* Fix unit test

* chore: skip web3_provider unit tests (#7252)

* fix: prune checkpoint states at syncing time (#7241)

* fix: prune checkpoint states at syncing time

* fix: lint

* fix: check-types in test

* fix: sync cached isCompoundingValidatorArr at epoch transition (#7247)

* fix: handle outOfRangeData when range sync Deneb (#7249)

* fix: handle outOfRangeData for beaconBlocksMaybeBlobsByRange()

* fix: lint

* fix: archiveBlocks - handle deneb outOfRangeData block

* fix: sync cached balance when adding new validator to registry (#7255)

* fix: sync cached balance when adding new validator to registry

* chore: add more comments

* fix: remove persisted checkpoint states from the previous run at startup

* fix: do not throw error when trying to prune missing directory (#7257)

* docs: update documentation Oct 2024 (#7178)

* docs update oct 2024 init

* Reconfig quickstart nav and minor fixes

* fix lint

* spelling fixes

* minor fixes and add to wordlist

* prettier fix

* add to wordlist

* sort wordlist

* modify dominance to include lighthouse

* fix typescript casing and add recommendation

* add selection and boost_factor with keymanager notice

* update wordlist

* remove builder enabled and add keymanager api

* spelling

---------

Co-authored-by: Nico Flaig <[email protected]>

* chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /docs (#7268)

Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](moxystudio/node-cross-spawn@v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: add error log to notifier if execution client auth failed (#7239)

* feat: add error log to notifier if execution client auth failed

* Update packages/beacon-node/src/node/notifier.ts

---------

Co-authored-by: NC <[email protected]>

* docs: display rcConfig flag on CLI reference page (#7270)

* docs: display rcConfig flag on CLI reference page

* Update word list

* chore: remove prettier as default formatter for all file types (#7275)

* chore: unhide flags relevant for devnets / testing (#7271)

* feat: debug too many shuffling promises (#7251)

* feat: add asyncShufflingCalculation to StateTransitionOpts

* feat: add asyncShufflingCalculation to all regen / processSlots consumers

* fix: default to false for async shuffling and remove unnecessary props

* fix: remove unnecessary flags from stateTransition

* feat: implement conditional build of shuffling for prepareNextSlot

* fix: spec test bug where shufflingCache is present from BeaconChain constructor

* feat: sync build next shuffling if not queued async

* fix: use getSync to pull next shuffling correctly

* docs: add comment to prepareNextSlot

* refactor: rename StateCloneOpts to StateRegenerationOpts

* feat: pass asyncShufflingCalculation through to afterProcessEpoch and refactor conditional to run purely sync

* docs: add issue number to comment

* chore: lint

* chore: unpin nodejs version from 22.4 (#6982)

* Revert "chore: pin nodejs version to 22.4 (#6964)"

This reverts commit f20484b.

* Don't revert formatting changes

---------

Co-authored-by: Nico Flaig <[email protected]>
Co-authored-by: Cayman <[email protected]>

* chore: update bootnodes file url for holesky and sepolia (#7276)

* feat: add `debug_getHistoricalSummaries` endpoint (#7245)

* feat: add new getHistoricalSummaries endpoint to debug namespace

* Add JSON response

* Restructure to use stateId and add proof to response

* add test scaffolding

* Address feedback

* Move getHistoricalSummaries to lodestar namespace

* add lodestar namespace unit test

* update route name to lodestar namespace

* cast state object as Capella state

* Lint

* json properties need to be lower case

* Make it v1 since it's now part of lodestar namespace

* Group with other /lodestar endpoints

* Simplify beacon node impl

* Rename return type

* Update test description

* Fix variable name

---------

Co-authored-by: Nico Flaig <[email protected]>

* chore: log sync committee signature errors as `error` (#7283)

* fix: update engine_getClientVersionV1 commit encoding (#7282)

* fix: check pubkey or validator index known to a state (#7284)

* fix: check pubkey or validator index known to a state

* chore: add more comments

* feat: lodestar script setup (#7254)

* feat: lodestar_setup

* feat: script_updates + docs

* feat: script_addition_in_docs + command_update

* Remove duplicate script from docs folder

* Minor script updates

* Update script to prepare docs and ignore copied file

* Update installation page

* Wording

---------

Co-authored-by: Nico Flaig <[email protected]>

* feat: add terminal-sized Electra giraffe banner (#7286)

* Create giraffeBanners.ts

* Wire in banner

* Fix file name

* lint

* Address @nflaig's comment

---------

Co-authored-by: NC <[email protected]>

* chore: pin nodejs version to 22.4 (#7291)

Revert "chore: unpin nodejs version from 22.4 (#6982)"

This reverts commit 69ae688.

* feat: expose `DOMAIN_APPLICATION_MASK` in config/spec api (#7296)

* feat: expose DOMAIN_APPLICATION_MASK in config/spec api

* Lint

* feat: make `MAX_REQUEST_BLOB_SIDECARS` and `MAX_BLOBS_PER_BLOCK` configurable (#7294)

* Init commit

* Fix check-types

* Add comment on how MAX_REQUEST_BLOB_SIDECARS is calculated

* Ensure proper config object is passed

* Address comment

---------

Co-authored-by: Nico Flaig <[email protected]>

* feat: use `BLOB_SIDECAR_SUBNET_COUNT` to configure blob subnets (#7297)

feat: use BLOB_SIDECAR_SUBNET_COUNT to configure blob subnets

* chore: log sync aggregate participants when producing beacon block body (#7300)

* chore: log sync aggregate participants when producing beacon block body

* Use isForkLightClient instead of ForkSeq

* Fix produce block unit tests

* chore: print graffiti when producing beacon block body (#7303)

* fix: warn if engine / builder failed to produce block within cutoff time (#7305)

* feat: add kzg commitment length check when validating gossip blocks (#7302)

* feat: add blob sidecar index check (#7313)

Validate blobSidecar index

* fix: fix blob sidecar index check (#7315)

Fix index check

* chore: fix format of printed graffiti from hex to utf-8 (#7306)

* chore: fix format of printed graffiti from hex to utf-8

* Use Buffer.from no copy with offset

* docs: batch commit typos and update contributor readme (#7312)

* batch commit typos and update contributor readme

* update donation text

Co-authored-by: Nico Flaig <[email protected]>

* correct spelling

Co-authored-by: Nico Flaig <[email protected]>

---------

Co-authored-by: Nico Flaig <[email protected]>

* chore: remove trailing null bytes from printed graffiti (#7320)

* chore: remove trailing null bytes from printed graffiti

* Use replaceAll instead of regex

* chore: unpin nodejs version from 22.4 (#7324)

Revert "chore: pin nodejs version to 22.4 (#7291)"

This reverts commit 99794d3.

* chore: bump package versions to 1.24.0

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Nico Flaig <[email protected]>
Co-authored-by: Nazar Hussain <[email protected]>
Co-authored-by: g11tech <[email protected]>
Co-authored-by: Matthew Keil <[email protected]>
Co-authored-by: NC <[email protected]>
Co-authored-by: twoeths <[email protected]>
Co-authored-by: Phil Ngo <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: acolytec3 <[email protected]>
Co-authored-by: Varun Guleria <[email protected]>
Co-authored-by: ClockworkYuzu <[email protected]>
@wemeetagain
Copy link
Member

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