Skip to content

Commit

Permalink
feat: set proper user-agent in validator client http requests (#7106)
Browse files Browse the repository at this point in the history
  • Loading branch information
nflaig authored Sep 25, 2024
1 parent ad4ec77 commit f1a77ea
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions packages/cli/src/cmds/validator/handler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ export async function validatorHandler(args: IValidatorCliArgs & GlobalArgs): Pr
globalInit: {
requestWireFormat: parseWireFormat(args, "http.requestWireFormat"),
responseWireFormat: parseWireFormat(args, "http.responseWireFormat"),
headers: {"User-Agent": `Lodestar/${version}`},
},
},
logger,
Expand Down

1 comment on commit f1a77ea

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for some benchmarks.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold.

Benchmark suite Current: f1a77ea Previous: ad4ec77 Ratio
fastMsgIdFn h32 xxhash / 1000 bytes 1.1840 us/op 360.00 ns/op 3.29
send data - 1000 65536B messages 850.96 ms/op 200.68 ms/op 4.24
getUint32 - manual 493.00 ns/op 160.00 ns/op 3.08
forkChoice updateHead vc 600000 bc 64 eq 300000 45.959 ms/op 14.660 ms/op 3.13

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: f1a77ea Previous: ad4ec77 Ratio
phase0 processEpoch - mainnet_e58758 372.43 ms/op 1.1300 s/op 0.33
Full benchmark results
Benchmark suite Current: f1a77ea Previous: ad4ec77 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.8686 ms/op 1.9501 ms/op 1.47
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 78.729 us/op 50.224 us/op 1.57
BLS verify - blst 1.0313 ms/op 827.53 us/op 1.25
BLS verifyMultipleSignatures 3 - blst 1.4293 ms/op 2.5308 ms/op 0.56
BLS verifyMultipleSignatures 8 - blst 1.9776 ms/op 2.2683 ms/op 0.87
BLS verifyMultipleSignatures 32 - blst 6.9649 ms/op 6.9331 ms/op 1.00
BLS verifyMultipleSignatures 64 - blst 11.008 ms/op 11.030 ms/op 1.00
BLS verifyMultipleSignatures 128 - blst 20.146 ms/op 18.012 ms/op 1.12
BLS deserializing 10000 signatures 713.94 ms/op 701.15 ms/op 1.02
BLS deserializing 100000 signatures 7.0199 s/op 6.9664 s/op 1.01
BLS verifyMultipleSignatures - same message - 3 - blst 1.1196 ms/op 1.1606 ms/op 0.96
BLS verifyMultipleSignatures - same message - 8 - blst 1.2619 ms/op 1.1206 ms/op 1.13
BLS verifyMultipleSignatures - same message - 32 - blst 1.8403 ms/op 1.7464 ms/op 1.05
BLS verifyMultipleSignatures - same message - 64 - blst 2.9611 ms/op 2.8032 ms/op 1.06
BLS verifyMultipleSignatures - same message - 128 - blst 4.6390 ms/op 4.5110 ms/op 1.03
BLS aggregatePubkeys 32 - blst 22.217 us/op 20.539 us/op 1.08
BLS aggregatePubkeys 128 - blst 76.371 us/op 71.549 us/op 1.07
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 64.272 ms/op 79.517 ms/op 0.81
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 64.463 ms/op 76.245 ms/op 0.85
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 40.359 ms/op 46.836 ms/op 0.86
getSlashingsAndExits - default max 162.41 us/op 87.538 us/op 1.86
getSlashingsAndExits - 2k 369.75 us/op 259.79 us/op 1.42
proposeBlockBody type=full, size=empty 6.4067 ms/op 5.8706 ms/op 1.09
isKnown best case - 1 super set check 520.00 ns/op 283.00 ns/op 1.84
isKnown normal case - 2 super set checks 451.00 ns/op 264.00 ns/op 1.71
isKnown worse case - 16 super set checks 462.00 ns/op 269.00 ns/op 1.72
InMemoryCheckpointStateCache - add get delete 3.5340 us/op 2.6630 us/op 1.33
updateUnfinalizedPubkeys - updating 10 pubkeys 1.6913 ms/op 945.88 us/op 1.79
updateUnfinalizedPubkeys - updating 100 pubkeys 4.7361 ms/op 3.6376 ms/op 1.30
updateUnfinalizedPubkeys - updating 1000 pubkeys 63.816 ms/op 50.886 ms/op 1.25
validate api signedAggregateAndProof - struct 1.9389 ms/op 2.5933 ms/op 0.75
validate gossip signedAggregateAndProof - struct 1.8010 ms/op 2.5950 ms/op 0.69
validate gossip attestation - vc 640000 1.1347 ms/op 1.2759 ms/op 0.89
batch validate gossip attestation - vc 640000 - chunk 32 151.05 us/op 136.42 us/op 1.11
batch validate gossip attestation - vc 640000 - chunk 64 133.20 us/op 121.25 us/op 1.10
batch validate gossip attestation - vc 640000 - chunk 128 124.02 us/op 112.64 us/op 1.10
batch validate gossip attestation - vc 640000 - chunk 256 126.32 us/op 106.54 us/op 1.19
pickEth1Vote - no votes 1.3825 ms/op 1.0675 ms/op 1.30
pickEth1Vote - max votes 11.229 ms/op 7.9230 ms/op 1.42
pickEth1Vote - Eth1Data hashTreeRoot value x2048 19.632 ms/op 17.009 ms/op 1.15
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 35.562 ms/op 25.354 ms/op 1.40
pickEth1Vote - Eth1Data fastSerialize value x2048 747.64 us/op 492.63 us/op 1.52
pickEth1Vote - Eth1Data fastSerialize tree x2048 4.1037 ms/op 3.5457 ms/op 1.16
bytes32 toHexString 814.00 ns/op 442.00 ns/op 1.84
bytes32 Buffer.toString(hex) 291.00 ns/op 254.00 ns/op 1.15
bytes32 Buffer.toString(hex) from Uint8Array 589.00 ns/op 381.00 ns/op 1.55
bytes32 Buffer.toString(hex) + 0x 313.00 ns/op 257.00 ns/op 1.22
Object access 1 prop 0.24700 ns/op 0.14600 ns/op 1.69
Map access 1 prop 0.16400 ns/op 0.13800 ns/op 1.19
Object get x1000 6.8150 ns/op 5.9480 ns/op 1.15
Map get x1000 7.6080 ns/op 6.6250 ns/op 1.15
Object set x1000 71.734 ns/op 32.532 ns/op 2.21
Map set x1000 59.195 ns/op 22.713 ns/op 2.61
Return object 10000 times 0.39660 ns/op 0.28870 ns/op 1.37
Throw Error 10000 times 4.3009 us/op 3.3407 us/op 1.29
toHex 219.56 ns/op 145.69 ns/op 1.51
Buffer.from 198.08 ns/op 133.04 ns/op 1.49
shared Buffer 120.63 ns/op 88.086 ns/op 1.37
fastMsgIdFn sha256 / 200 bytes 2.8540 us/op 2.2570 us/op 1.26
fastMsgIdFn h32 xxhash / 200 bytes 366.00 ns/op 231.00 ns/op 1.58
fastMsgIdFn h64 xxhash / 200 bytes 703.00 ns/op 280.00 ns/op 2.51
fastMsgIdFn sha256 / 1000 bytes 13.307 us/op 7.3690 us/op 1.81
fastMsgIdFn h32 xxhash / 1000 bytes 1.1840 us/op 360.00 ns/op 3.29
fastMsgIdFn h64 xxhash / 1000 bytes 588.00 ns/op 352.00 ns/op 1.67
fastMsgIdFn sha256 / 10000 bytes 80.162 us/op 65.054 us/op 1.23
fastMsgIdFn h32 xxhash / 10000 bytes 3.1480 us/op 1.8790 us/op 1.68
fastMsgIdFn h64 xxhash / 10000 bytes 1.5220 us/op 1.2430 us/op 1.22
send data - 1000 256B messages 19.647 ms/op 12.382 ms/op 1.59
send data - 1000 512B messages 24.321 ms/op 17.594 ms/op 1.38
send data - 1000 1024B messages 45.331 ms/op 26.565 ms/op 1.71
send data - 1000 1200B messages 42.138 ms/op 26.676 ms/op 1.58
send data - 1000 2048B messages 46.660 ms/op 31.738 ms/op 1.47
send data - 1000 4096B messages 47.203 ms/op 29.363 ms/op 1.61
send data - 1000 16384B messages 141.20 ms/op 73.864 ms/op 1.91
send data - 1000 65536B messages 850.96 ms/op 200.68 ms/op 4.24
enrSubnets - fastDeserialize 64 bits 1.9500 us/op 1.1040 us/op 1.77
enrSubnets - ssz BitVector 64 bits 501.00 ns/op 351.00 ns/op 1.43
enrSubnets - fastDeserialize 4 bits 236.00 ns/op 156.00 ns/op 1.51
enrSubnets - ssz BitVector 4 bits 545.00 ns/op 351.00 ns/op 1.55
prioritizePeers score -10:0 att 32-0.1 sync 2-0 258.75 us/op 146.32 us/op 1.77
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 314.08 us/op 195.30 us/op 1.61
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 415.00 us/op 281.40 us/op 1.47
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 608.14 us/op 684.86 us/op 0.89
prioritizePeers score 0:0 att 64-1 sync 4-1 1.1963 ms/op 921.94 us/op 1.30
array of 16000 items push then shift 1.9656 us/op 1.6637 us/op 1.18
LinkedList of 16000 items push then shift 12.725 ns/op 7.1550 ns/op 1.78
array of 16000 items push then pop 162.75 ns/op 97.842 ns/op 1.66
LinkedList of 16000 items push then pop 9.0280 ns/op 7.0660 ns/op 1.28
array of 24000 items push then shift 2.9142 us/op 2.4581 us/op 1.19
LinkedList of 24000 items push then shift 11.417 ns/op 7.1250 ns/op 1.60
array of 24000 items push then pop 202.43 ns/op 133.24 ns/op 1.52
LinkedList of 24000 items push then pop 9.0880 ns/op 7.0110 ns/op 1.30
intersect bitArray bitLen 8 7.9290 ns/op 6.4530 ns/op 1.23
intersect array and set length 8 71.003 ns/op 46.877 ns/op 1.51
intersect bitArray bitLen 128 35.112 ns/op 30.156 ns/op 1.16
intersect array and set length 128 923.08 ns/op 681.55 ns/op 1.35
bitArray.getTrueBitIndexes() bitLen 128 2.5400 us/op 2.7190 us/op 0.93
bitArray.getTrueBitIndexes() bitLen 248 4.6620 us/op 3.6530 us/op 1.28
bitArray.getTrueBitIndexes() bitLen 512 10.174 us/op 9.5700 us/op 1.06
Buffer.concat 32 items 1.2450 us/op 1.0330 us/op 1.21
Uint8Array.set 32 items 2.0950 us/op 1.7630 us/op 1.19
Buffer.copy 2.2880 us/op 2.0490 us/op 1.12
Uint8Array.set - with subarray 3.6310 us/op 2.9930 us/op 1.21
Uint8Array.set - without subarray 2.4140 us/op 1.6560 us/op 1.46
getUint32 - dataview 467.00 ns/op 263.00 ns/op 1.78
getUint32 - manual 493.00 ns/op 160.00 ns/op 3.08
Set add up to 64 items then delete first 4.7666 us/op 2.2280 us/op 2.14
OrderedSet add up to 64 items then delete first 5.9296 us/op 3.2979 us/op 1.80
Set add up to 64 items then delete last 3.8529 us/op 2.5788 us/op 1.49
OrderedSet add up to 64 items then delete last 6.0971 us/op 3.9188 us/op 1.56
Set add up to 64 items then delete middle 4.1024 us/op 2.5525 us/op 1.61
OrderedSet add up to 64 items then delete middle 7.3792 us/op 5.4074 us/op 1.36
Set add up to 128 items then delete first 7.5304 us/op 5.0349 us/op 1.50
OrderedSet add up to 128 items then delete first 12.040 us/op 7.4439 us/op 1.62
Set add up to 128 items then delete last 8.2237 us/op 5.0911 us/op 1.62
OrderedSet add up to 128 items then delete last 12.293 us/op 7.7845 us/op 1.58
Set add up to 128 items then delete middle 7.3139 us/op 4.9347 us/op 1.48
OrderedSet add up to 128 items then delete middle 19.230 us/op 14.115 us/op 1.36
Set add up to 256 items then delete first 17.358 us/op 9.9835 us/op 1.74
OrderedSet add up to 256 items then delete first 22.267 us/op 14.862 us/op 1.50
Set add up to 256 items then delete last 14.256 us/op 10.048 us/op 1.42
OrderedSet add up to 256 items then delete last 21.618 us/op 15.746 us/op 1.37
Set add up to 256 items then delete middle 13.942 us/op 10.078 us/op 1.38
OrderedSet add up to 256 items then delete middle 49.144 us/op 40.896 us/op 1.20
transfer serialized Status (84 B) 1.5270 us/op 1.5540 us/op 0.98
copy serialized Status (84 B) 1.3160 us/op 1.2770 us/op 1.03
transfer serialized SignedVoluntaryExit (112 B) 1.5900 us/op 1.7650 us/op 0.90
copy serialized SignedVoluntaryExit (112 B) 1.4500 us/op 1.3860 us/op 1.05
transfer serialized ProposerSlashing (416 B) 2.5710 us/op 2.1060 us/op 1.22
copy serialized ProposerSlashing (416 B) 3.3800 us/op 2.0780 us/op 1.63
transfer serialized Attestation (485 B) 3.1940 us/op 2.2760 us/op 1.40
copy serialized Attestation (485 B) 3.4290 us/op 2.0250 us/op 1.69
transfer serialized AttesterSlashing (33232 B) 4.0150 us/op 2.4490 us/op 1.64
copy serialized AttesterSlashing (33232 B) 11.797 us/op 5.8070 us/op 2.03
transfer serialized Small SignedBeaconBlock (128000 B) 4.4680 us/op 3.7490 us/op 1.19
copy serialized Small SignedBeaconBlock (128000 B) 34.587 us/op 16.298 us/op 2.12
transfer serialized Avg SignedBeaconBlock (200000 B) 5.9170 us/op 4.1930 us/op 1.41
copy serialized Avg SignedBeaconBlock (200000 B) 51.877 us/op 23.067 us/op 2.25
transfer serialized BlobsSidecar (524380 B) 7.6560 us/op 3.4430 us/op 2.22
copy serialized BlobsSidecar (524380 B) 176.55 us/op 154.22 us/op 1.14
transfer serialized Big SignedBeaconBlock (1000000 B) 9.4180 us/op 3.1410 us/op 3.00
copy serialized Big SignedBeaconBlock (1000000 B) 352.93 us/op 161.32 us/op 2.19
pass gossip attestations to forkchoice per slot 4.5748 ms/op 2.8771 ms/op 1.59
forkChoice updateHead vc 100000 bc 64 eq 0 789.01 us/op 541.27 us/op 1.46
forkChoice updateHead vc 600000 bc 64 eq 0 4.4973 ms/op 3.1069 ms/op 1.45
forkChoice updateHead vc 1000000 bc 64 eq 0 7.3121 ms/op 5.4551 ms/op 1.34
forkChoice updateHead vc 600000 bc 320 eq 0 3.8353 ms/op 3.0965 ms/op 1.24
forkChoice updateHead vc 600000 bc 1200 eq 0 4.1477 ms/op 3.1378 ms/op 1.32
forkChoice updateHead vc 600000 bc 7200 eq 0 5.4128 ms/op 3.6403 ms/op 1.49
forkChoice updateHead vc 600000 bc 64 eq 1000 13.893 ms/op 11.313 ms/op 1.23
forkChoice updateHead vc 600000 bc 64 eq 10000 14.583 ms/op 10.895 ms/op 1.34
forkChoice updateHead vc 600000 bc 64 eq 300000 45.959 ms/op 14.660 ms/op 3.13
computeDeltas 500000 validators 300 proto nodes 5.3809 ms/op 3.5772 ms/op 1.50
computeDeltas 500000 validators 1200 proto nodes 4.6966 ms/op 3.6434 ms/op 1.29
computeDeltas 500000 validators 7200 proto nodes 4.7530 ms/op 3.6837 ms/op 1.29
computeDeltas 750000 validators 300 proto nodes 7.1832 ms/op 5.5141 ms/op 1.30
computeDeltas 750000 validators 1200 proto nodes 6.7528 ms/op 5.5944 ms/op 1.21
computeDeltas 750000 validators 7200 proto nodes 6.4241 ms/op 5.5464 ms/op 1.16
computeDeltas 1400000 validators 300 proto nodes 12.143 ms/op 10.226 ms/op 1.19
computeDeltas 1400000 validators 1200 proto nodes 11.922 ms/op 11.228 ms/op 1.06
computeDeltas 1400000 validators 7200 proto nodes 11.774 ms/op 12.255 ms/op 0.96
computeDeltas 2100000 validators 300 proto nodes 16.759 ms/op 18.686 ms/op 0.90
computeDeltas 2100000 validators 1200 proto nodes 16.732 ms/op 21.374 ms/op 0.78
computeDeltas 2100000 validators 7200 proto nodes 17.918 ms/op 21.740 ms/op 0.82
altair processAttestation - 250000 vs - 7PWei normalcase 3.0669 ms/op 3.0531 ms/op 1.00
altair processAttestation - 250000 vs - 7PWei worstcase 3.5484 ms/op 4.6790 ms/op 0.76
altair processAttestation - setStatus - 1/6 committees join 112.93 us/op 175.49 us/op 0.64
altair processAttestation - setStatus - 1/3 committees join 214.70 us/op 333.91 us/op 0.64
altair processAttestation - setStatus - 1/2 committees join 527.94 us/op 413.75 us/op 1.28
altair processAttestation - setStatus - 2/3 committees join 723.02 us/op 551.04 us/op 1.31
altair processAttestation - setStatus - 4/5 committees join 904.40 us/op 951.70 us/op 0.95
altair processAttestation - setStatus - 100% committees join 817.95 us/op 1.1084 ms/op 0.74
altair processBlock - 250000 vs - 7PWei normalcase 10.227 ms/op 8.1806 ms/op 1.25
altair processBlock - 250000 vs - 7PWei normalcase hashState 46.511 ms/op 49.672 ms/op 0.94
altair processBlock - 250000 vs - 7PWei worstcase 48.206 ms/op 62.955 ms/op 0.77
altair processBlock - 250000 vs - 7PWei worstcase hashState 107.96 ms/op 130.08 ms/op 0.83
phase0 processBlock - 250000 vs - 7PWei normalcase 4.2096 ms/op 4.2790 ms/op 0.98
phase0 processBlock - 250000 vs - 7PWei worstcase 34.986 ms/op 43.392 ms/op 0.81
altair processEth1Data - 250000 vs - 7PWei normalcase 829.75 us/op 586.51 us/op 1.41
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 12.822 us/op 8.4450 us/op 1.52
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 61.042 us/op 50.562 us/op 1.21
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 21.111 us/op 15.088 us/op 1.40
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 14.452 us/op 9.1610 us/op 1.58
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 245.89 us/op 207.78 us/op 1.18
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 2.2106 ms/op 1.6493 ms/op 1.34
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 3.4809 ms/op 2.6131 ms/op 1.33
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 3.1526 ms/op 2.3558 ms/op 1.34
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 10.629 ms/op 6.7542 ms/op 1.57
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 4.3849 ms/op 2.5803 ms/op 1.70
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 9.0926 ms/op 7.7101 ms/op 1.18
Tree 40 250000 create 875.82 ms/op 444.25 ms/op 1.97
Tree 40 250000 get(125000) 318.81 ns/op 323.11 ns/op 0.99
Tree 40 250000 set(125000) 2.8930 us/op 1.2928 us/op 2.24
Tree 40 250000 toArray() 42.413 ms/op 31.511 ms/op 1.35
Tree 40 250000 iterate all - toArray() + loop 42.934 ms/op 29.790 ms/op 1.44
Tree 40 250000 iterate all - get(i) 125.81 ms/op 102.45 ms/op 1.23
Array 250000 create 6.4046 ms/op 6.0243 ms/op 1.06
Array 250000 clone - spread 6.6288 ms/op 2.5110 ms/op 2.64
Array 250000 get(125000) 1.0750 ns/op 0.73900 ns/op 1.45
Array 250000 set(125000) 1.1280 ns/op 0.78200 ns/op 1.44
Array 250000 iterate all - loop 212.43 us/op 129.54 us/op 1.64
phase0 afterProcessEpoch - 250000 vs - 7PWei 112.26 ms/op 169.93 ms/op 0.66
Array.fill - length 1000000 11.680 ms/op 6.8550 ms/op 1.70
Array push - length 1000000 44.274 ms/op 29.742 ms/op 1.49
Array.get 0.35411 ns/op 0.50197 ns/op 0.71
Uint8Array.get 0.73930 ns/op 0.78375 ns/op 0.94
phase0 beforeProcessEpoch - 250000 vs - 7PWei 42.320 ms/op 24.823 ms/op 1.70
altair processEpoch - mainnet_e81889 612.32 ms/op 620.13 ms/op 0.99
mainnet_e81889 - altair beforeProcessEpoch 46.697 ms/op 30.922 ms/op 1.51
mainnet_e81889 - altair processJustificationAndFinalization 28.752 us/op 20.389 us/op 1.41
mainnet_e81889 - altair processInactivityUpdates 15.465 ms/op 9.9956 ms/op 1.55
mainnet_e81889 - altair processRewardsAndPenalties 72.435 ms/op 59.859 ms/op 1.21
mainnet_e81889 - altair processRegistryUpdates 6.6940 us/op 3.5520 us/op 1.88
mainnet_e81889 - altair processSlashings 1.6070 us/op 656.00 ns/op 2.45
mainnet_e81889 - altair processEth1DataReset 1.3130 us/op 787.00 ns/op 1.67
mainnet_e81889 - altair processEffectiveBalanceUpdates 3.1472 ms/op 5.0686 ms/op 0.62
mainnet_e81889 - altair processSlashingsReset 8.8930 us/op 11.092 us/op 0.80
mainnet_e81889 - altair processRandaoMixesReset 10.316 us/op 9.8090 us/op 1.05
mainnet_e81889 - altair processHistoricalRootsUpdate 1.3570 us/op 1.1190 us/op 1.21
mainnet_e81889 - altair processParticipationFlagUpdates 8.3360 us/op 11.772 us/op 0.71
mainnet_e81889 - altair processSyncCommitteeUpdates 1.4170 us/op 1.4600 us/op 0.97
mainnet_e81889 - altair afterProcessEpoch 142.79 ms/op 171.31 ms/op 0.83
capella processEpoch - mainnet_e217614 1.2639 s/op 2.7132 s/op 0.47
mainnet_e217614 - capella beforeProcessEpoch 82.728 ms/op 159.46 ms/op 0.52
mainnet_e217614 - capella processJustificationAndFinalization 24.071 us/op 29.822 us/op 0.81
mainnet_e217614 - capella processInactivityUpdates 19.650 ms/op 34.514 ms/op 0.57
mainnet_e217614 - capella processRewardsAndPenalties 247.72 ms/op 486.93 ms/op 0.51
mainnet_e217614 - capella processRegistryUpdates 14.310 us/op 50.394 us/op 0.28
mainnet_e217614 - capella processSlashings 527.00 ns/op 1.8730 us/op 0.28
mainnet_e217614 - capella processEth1DataReset 444.00 ns/op 700.00 ns/op 0.63
mainnet_e217614 - capella processEffectiveBalanceUpdates 16.161 ms/op 14.266 ms/op 1.13
mainnet_e217614 - capella processSlashingsReset 3.4240 us/op 15.480 us/op 0.22
mainnet_e217614 - capella processRandaoMixesReset 5.0690 us/op 18.586 us/op 0.27
mainnet_e217614 - capella processHistoricalRootsUpdate 715.00 ns/op 1.3960 us/op 0.51
mainnet_e217614 - capella processParticipationFlagUpdates 2.9530 us/op 8.3350 us/op 0.35
mainnet_e217614 - capella afterProcessEpoch 252.30 ms/op 790.57 ms/op 0.32
phase0 processEpoch - mainnet_e58758 372.43 ms/op 1.1300 s/op 0.33
mainnet_e58758 - phase0 beforeProcessEpoch 86.887 ms/op 185.32 ms/op 0.47
mainnet_e58758 - phase0 processJustificationAndFinalization 15.533 us/op 79.095 us/op 0.20
mainnet_e58758 - phase0 processRewardsAndPenalties 39.622 ms/op 67.429 ms/op 0.59
mainnet_e58758 - phase0 processRegistryUpdates 7.5790 us/op 17.184 us/op 0.44
mainnet_e58758 - phase0 processSlashings 478.00 ns/op 966.00 ns/op 0.49
mainnet_e58758 - phase0 processEth1DataReset 540.00 ns/op 3.1630 us/op 0.17
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.3792 ms/op 3.1494 ms/op 0.44
mainnet_e58758 - phase0 processSlashingsReset 3.2900 us/op 6.4920 us/op 0.51
mainnet_e58758 - phase0 processRandaoMixesReset 6.0310 us/op 11.552 us/op 0.52
mainnet_e58758 - phase0 processHistoricalRootsUpdate 744.00 ns/op 761.00 ns/op 0.98
mainnet_e58758 - phase0 processParticipationRecordUpdates 5.1190 us/op 7.8960 us/op 0.65
mainnet_e58758 - phase0 afterProcessEpoch 79.205 ms/op 131.99 ms/op 0.60
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.6916 ms/op 3.4186 ms/op 0.49
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.4488 ms/op 5.0776 ms/op 0.48
altair processInactivityUpdates - 250000 normalcase 22.187 ms/op 36.131 ms/op 0.61
altair processInactivityUpdates - 250000 worstcase 21.109 ms/op 36.927 ms/op 0.57
phase0 processRegistryUpdates - 250000 normalcase 6.5960 us/op 10.274 us/op 0.64
phase0 processRegistryUpdates - 250000 badcase_full_deposits 360.77 us/op 496.67 us/op 0.73
phase0 processRegistryUpdates - 250000 worstcase 0.5 128.71 ms/op 310.30 ms/op 0.41
altair processRewardsAndPenalties - 250000 normalcase 52.147 ms/op 122.81 ms/op 0.42
altair processRewardsAndPenalties - 250000 worstcase 49.606 ms/op 113.15 ms/op 0.44
phase0 getAttestationDeltas - 250000 normalcase 8.9820 ms/op 18.886 ms/op 0.48
phase0 getAttestationDeltas - 250000 worstcase 8.4196 ms/op 15.163 ms/op 0.56
phase0 processSlashings - 250000 worstcase 101.25 us/op 135.64 us/op 0.75
altair processSyncCommitteeUpdates - 250000 125.25 ms/op 273.86 ms/op 0.46
BeaconState.hashTreeRoot - No change 288.00 ns/op 528.00 ns/op 0.55
BeaconState.hashTreeRoot - 1 full validator 109.75 us/op 212.48 us/op 0.52
BeaconState.hashTreeRoot - 32 full validator 1.2775 ms/op 2.2519 ms/op 0.57
BeaconState.hashTreeRoot - 512 full validator 15.738 ms/op 23.356 ms/op 0.67
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 163.65 us/op 244.07 us/op 0.67
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.0505 ms/op 3.4675 ms/op 0.59
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 33.781 ms/op 46.628 ms/op 0.72
BeaconState.hashTreeRoot - 1 balances 129.36 us/op 215.25 us/op 0.60
BeaconState.hashTreeRoot - 32 balances 784.03 us/op 1.9426 ms/op 0.40
BeaconState.hashTreeRoot - 512 balances 7.6066 ms/op 18.070 ms/op 0.42
BeaconState.hashTreeRoot - 250000 balances 165.21 ms/op 288.14 ms/op 0.57
aggregationBits - 2048 els - zipIndexesInBitList 27.610 us/op 45.931 us/op 0.60
byteArrayEquals 32 54.843 ns/op 97.563 ns/op 0.56
Buffer.compare 32 18.109 ns/op 30.400 ns/op 0.60
byteArrayEquals 1024 1.6423 us/op 2.7967 us/op 0.59
Buffer.compare 1024 26.124 ns/op 45.033 ns/op 0.58
byteArrayEquals 16384 25.891 us/op 44.303 us/op 0.58
Buffer.compare 16384 208.71 ns/op 361.19 ns/op 0.58
byteArrayEquals 123687377 196.65 ms/op 288.96 ms/op 0.68
Buffer.compare 123687377 8.6793 ms/op 6.2905 ms/op 1.38
byteArrayEquals 32 - diff last byte 54.221 ns/op 67.512 ns/op 0.80
Buffer.compare 32 - diff last byte 20.230 ns/op 21.242 ns/op 0.95
byteArrayEquals 1024 - diff last byte 1.6790 us/op 1.8260 us/op 0.92
Buffer.compare 1024 - diff last byte 29.519 ns/op 30.765 ns/op 0.96
byteArrayEquals 16384 - diff last byte 26.709 us/op 30.405 us/op 0.88
Buffer.compare 16384 - diff last byte 202.91 ns/op 240.75 ns/op 0.84
byteArrayEquals 123687377 - diff last byte 197.07 ms/op 219.41 ms/op 0.90
Buffer.compare 123687377 - diff last byte 9.2572 ms/op 6.7517 ms/op 1.37
byteArrayEquals 32 - random bytes 5.4570 ns/op 6.1980 ns/op 0.88
Buffer.compare 32 - random bytes 17.804 ns/op 20.215 ns/op 0.88
byteArrayEquals 1024 - random bytes 5.3630 ns/op 6.1590 ns/op 0.87
Buffer.compare 1024 - random bytes 18.082 ns/op 20.034 ns/op 0.90
byteArrayEquals 16384 - random bytes 5.3400 ns/op 5.8190 ns/op 0.92
Buffer.compare 16384 - random bytes 18.077 ns/op 19.867 ns/op 0.91
byteArrayEquals 123687377 - random bytes 7.0000 ns/op 6.8900 ns/op 1.02
Buffer.compare 123687377 - random bytes 19.250 ns/op 20.040 ns/op 0.96
regular array get 100000 times 43.647 us/op 34.322 us/op 1.27
wrappedArray get 100000 times 46.039 us/op 34.264 us/op 1.34
arrayWithProxy get 100000 times 15.562 ms/op 14.340 ms/op 1.09
ssz.Root.equals 46.320 ns/op 49.132 ns/op 0.94
byteArrayEquals 45.536 ns/op 48.231 ns/op 0.94
Buffer.compare 10.768 ns/op 11.269 ns/op 0.96
shuffle list - 16384 els 6.9302 ms/op 6.7992 ms/op 1.02
shuffle list - 250000 els 97.284 ms/op 100.31 ms/op 0.97
processSlot - 1 slots 13.870 us/op 15.658 us/op 0.89
processSlot - 32 slots 2.8717 ms/op 3.7654 ms/op 0.76
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 39.482 ms/op 43.308 ms/op 0.91
getCommitteeAssignments - req 1 vs - 250000 vc 2.1405 ms/op 2.5013 ms/op 0.86
getCommitteeAssignments - req 100 vs - 250000 vc 4.2128 ms/op 4.6619 ms/op 0.90
getCommitteeAssignments - req 1000 vs - 250000 vc 4.5381 ms/op 5.7165 ms/op 0.79
findModifiedValidators - 10000 modified validators 301.58 ms/op 269.04 ms/op 1.12
findModifiedValidators - 1000 modified validators 199.12 ms/op 214.74 ms/op 0.93
findModifiedValidators - 100 modified validators 175.00 ms/op 205.88 ms/op 0.85
findModifiedValidators - 10 modified validators 191.82 ms/op 166.01 ms/op 1.16
findModifiedValidators - 1 modified validators 176.92 ms/op 178.27 ms/op 0.99
findModifiedValidators - no difference 190.11 ms/op 185.52 ms/op 1.02
compare ViewDUs 4.3331 s/op 3.3685 s/op 1.29
compare each validator Uint8Array 1.7353 s/op 1.4752 s/op 1.18
compare ViewDU to Uint8Array 1.4566 s/op 1.2608 s/op 1.16
migrate state 1000000 validators, 24 modified, 0 new 1.1993 s/op 1.0006 s/op 1.20
migrate state 1000000 validators, 1700 modified, 1000 new 1.5145 s/op 1.5480 s/op 0.98
migrate state 1000000 validators, 3400 modified, 2000 new 1.8695 s/op 1.9752 s/op 0.95
migrate state 1500000 validators, 24 modified, 0 new 1.3261 s/op 1.4120 s/op 0.94
migrate state 1500000 validators, 1700 modified, 1000 new 1.5369 s/op 1.7550 s/op 0.88
migrate state 1500000 validators, 3400 modified, 2000 new 1.7014 s/op 2.0674 s/op 0.82
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.6200 ns/op 6.4700 ns/op 0.87
state getBlockRootAtSlot - 250000 vs - 7PWei 725.74 ns/op 856.23 ns/op 0.85
computeProposers - vc 250000 9.9174 ms/op 11.267 ms/op 0.88
computeEpochShuffling - vc 250000 106.31 ms/op 115.33 ms/op 0.92
getNextSyncCommittee - vc 250000 160.16 ms/op 165.33 ms/op 0.97
computeSigningRoot for AttestationData 34.327 us/op 33.037 us/op 1.04
hash AttestationData serialized data then Buffer.toString(base64) 1.7247 us/op 2.2376 us/op 0.77
toHexString serialized data 1.4097 us/op 1.2925 us/op 1.09
Buffer.toString(base64) 273.25 ns/op 314.94 ns/op 0.87
nodejs block root to RootHex using toHex 201.87 ns/op 258.32 ns/op 0.78
nodejs block root to RootHex using toRootHex 116.32 ns/op 149.82 ns/op 0.78
browser block root to RootHex using the deprecated toHexString 355.43 ns/op 355.88 ns/op 1.00
browser block root to RootHex using toHex 312.88 ns/op 350.13 ns/op 0.89
browser block root to RootHex using toRootHex 229.72 ns/op 280.05 ns/op 0.82

Please sign in to comment.