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

feat: include more details in validator attestation logs #7064

Merged
merged 1 commit into from
Sep 5, 2024

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Aug 30, 2024

Motivation

It would be nice to have a bit more details in vc attestation logs to know for which head the attestations voted and for aggregates, include the number of participants / signatures which is currently only tracked via metrics.

Description

Include more details in validator attestation logs

  • shortened head root hex to published attestations
  • number of participants / signatures to published aggregate

@nflaig nflaig requested a review from a team as a code owner August 30, 2024 07:53
Copy link

codecov bot commented Aug 30, 2024

Codecov Report

Attention: Patch coverage is 92.30769% with 1 line in your changes missing coverage. Please review.

Project coverage is 49.37%. Comparing base (21afb72) to head (ef9a07a).
Report is 6 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #7064   +/-   ##
=========================================
  Coverage     49.37%   49.37%           
=========================================
  Files           589      589           
  Lines         39233    39242    +9     
  Branches       2243     2249    +6     
=========================================
+ Hits          19370    19377    +7     
- Misses        19822    19823    +1     
- Partials         41       42    +1     

Copy link
Contributor

github-actions bot commented Aug 30, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 178e4e4 Previous: 19ac678 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.1617 ms/op 2.8321 ms/op 0.76
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 62.296 us/op 67.494 us/op 0.92
BLS verify - blst 895.31 us/op 848.04 us/op 1.06
BLS verifyMultipleSignatures 3 - blst 1.2277 ms/op 1.3035 ms/op 0.94
BLS verifyMultipleSignatures 8 - blst 1.6950 ms/op 1.8701 ms/op 0.91
BLS verifyMultipleSignatures 32 - blst 5.0413 ms/op 5.3396 ms/op 0.94
BLS verifyMultipleSignatures 64 - blst 9.3151 ms/op 9.8476 ms/op 0.95
BLS verifyMultipleSignatures 128 - blst 17.652 ms/op 17.476 ms/op 1.01
BLS deserializing 10000 signatures 697.20 ms/op 637.59 ms/op 1.09
BLS deserializing 100000 signatures 6.8223 s/op 6.3941 s/op 1.07
BLS verifyMultipleSignatures - same message - 3 - blst 937.81 us/op 967.98 us/op 0.97
BLS verifyMultipleSignatures - same message - 8 - blst 1.0037 ms/op 1.0840 ms/op 0.93
BLS verifyMultipleSignatures - same message - 32 - blst 1.6884 ms/op 1.6580 ms/op 1.02
BLS verifyMultipleSignatures - same message - 64 - blst 2.6019 ms/op 2.4772 ms/op 1.05
BLS verifyMultipleSignatures - same message - 128 - blst 4.3617 ms/op 4.0416 ms/op 1.08
BLS aggregatePubkeys 32 - blst 19.583 us/op 18.894 us/op 1.04
BLS aggregatePubkeys 128 - blst 69.588 us/op 64.499 us/op 1.08
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 66.333 ms/op 61.472 ms/op 1.08
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 47.510 ms/op 57.203 ms/op 0.83
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 31.876 ms/op 31.743 ms/op 1.00
getSlashingsAndExits - default max 89.563 us/op 86.169 us/op 1.04
getSlashingsAndExits - 2k 278.39 us/op 304.34 us/op 0.91
proposeBlockBody type=full, size=empty 5.7768 ms/op 5.0533 ms/op 1.14
isKnown best case - 1 super set check 297.00 ns/op 511.00 ns/op 0.58
isKnown normal case - 2 super set checks 291.00 ns/op 500.00 ns/op 0.58
isKnown worse case - 16 super set checks 292.00 ns/op 507.00 ns/op 0.58
InMemoryCheckpointStateCache - add get delete 3.1390 us/op 3.1310 us/op 1.00
updateUnfinalizedPubkeys - updating 10 pubkeys 1.0573 ms/op 448.06 us/op 2.36
updateUnfinalizedPubkeys - updating 100 pubkeys 2.5274 ms/op 2.2140 ms/op 1.14
updateUnfinalizedPubkeys - updating 1000 pubkeys 57.590 ms/op 40.379 ms/op 1.43
validate api signedAggregateAndProof - struct 1.4383 ms/op 1.6546 ms/op 0.87
validate gossip signedAggregateAndProof - struct 1.4470 ms/op 1.5846 ms/op 0.91
validate gossip attestation - vc 640000 938.04 us/op 986.09 us/op 0.95
batch validate gossip attestation - vc 640000 - chunk 32 136.43 us/op 136.31 us/op 1.00
batch validate gossip attestation - vc 640000 - chunk 64 117.03 us/op 124.58 us/op 0.94
batch validate gossip attestation - vc 640000 - chunk 128 102.96 us/op 105.41 us/op 0.98
batch validate gossip attestation - vc 640000 - chunk 256 100.94 us/op 99.958 us/op 1.01
pickEth1Vote - no votes 1.1197 ms/op 861.83 us/op 1.30
pickEth1Vote - max votes 6.4543 ms/op 4.3587 ms/op 1.48
pickEth1Vote - Eth1Data hashTreeRoot value x2048 13.504 ms/op 10.193 ms/op 1.32
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 18.104 ms/op 13.310 ms/op 1.36
pickEth1Vote - Eth1Data fastSerialize value x2048 526.11 us/op 363.20 us/op 1.45
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.5146 ms/op 2.0327 ms/op 1.24
bytes32 toHexString 429.00 ns/op 592.00 ns/op 0.72
bytes32 Buffer.toString(hex) 248.00 ns/op 446.00 ns/op 0.56
bytes32 Buffer.toString(hex) from Uint8Array 366.00 ns/op 538.00 ns/op 0.68
bytes32 Buffer.toString(hex) + 0x 242.00 ns/op 453.00 ns/op 0.53
Object access 1 prop 0.12600 ns/op 0.33000 ns/op 0.38
Map access 1 prop 0.12300 ns/op 0.33100 ns/op 0.37
Object get x1000 6.0570 ns/op 5.1880 ns/op 1.17
Map get x1000 6.5790 ns/op 6.1030 ns/op 1.08
Object set x1000 33.990 ns/op 22.634 ns/op 1.50
Map set x1000 22.796 ns/op 19.357 ns/op 1.18
Return object 10000 times 0.28770 ns/op 0.30150 ns/op 0.95
Throw Error 10000 times 3.3061 us/op 2.6919 us/op 1.23
toHex 150.59 ns/op 109.48 ns/op 1.38
Buffer.from 138.13 ns/op 104.16 ns/op 1.33
shared Buffer 88.904 ns/op 69.938 ns/op 1.27
fastMsgIdFn sha256 / 200 bytes 2.2220 us/op 2.0060 us/op 1.11
fastMsgIdFn h32 xxhash / 200 bytes 249.00 ns/op 419.00 ns/op 0.59
fastMsgIdFn h64 xxhash / 200 bytes 294.00 ns/op 449.00 ns/op 0.65
fastMsgIdFn sha256 / 1000 bytes 7.3010 us/op 5.8630 us/op 1.25
fastMsgIdFn h32 xxhash / 1000 bytes 383.00 ns/op 538.00 ns/op 0.71
fastMsgIdFn h64 xxhash / 1000 bytes 359.00 ns/op 514.00 ns/op 0.70
fastMsgIdFn sha256 / 10000 bytes 65.723 us/op 49.293 us/op 1.33
fastMsgIdFn h32 xxhash / 10000 bytes 1.8770 us/op 1.8950 us/op 0.99
fastMsgIdFn h64 xxhash / 10000 bytes 1.2350 us/op 1.3280 us/op 0.93
send data - 1000 256B messages 11.222 ms/op 9.6281 ms/op 1.17
send data - 1000 512B messages 15.534 ms/op 13.622 ms/op 1.14
send data - 1000 1024B messages 25.495 ms/op 20.433 ms/op 1.25
send data - 1000 1200B messages 18.642 ms/op 23.685 ms/op 0.79
send data - 1000 2048B messages 30.949 ms/op 30.508 ms/op 1.01
send data - 1000 4096B messages 30.125 ms/op 27.505 ms/op 1.10
send data - 1000 16384B messages 72.754 ms/op 72.192 ms/op 1.01
send data - 1000 65536B messages 197.11 ms/op 246.77 ms/op 0.80
enrSubnets - fastDeserialize 64 bits 1.1510 us/op 1.1560 us/op 1.00
enrSubnets - ssz BitVector 64 bits 359.00 ns/op 521.00 ns/op 0.69
enrSubnets - fastDeserialize 4 bits 150.00 ns/op 342.00 ns/op 0.44
enrSubnets - ssz BitVector 4 bits 353.00 ns/op 527.00 ns/op 0.67
prioritizePeers score -10:0 att 32-0.1 sync 2-0 151.38 us/op 108.45 us/op 1.40
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 161.08 us/op 133.26 us/op 1.21
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 275.83 us/op 187.65 us/op 1.47
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 413.90 us/op 330.36 us/op 1.25
prioritizePeers score 0:0 att 64-1 sync 4-1 773.00 us/op 400.94 us/op 1.93
array of 16000 items push then shift 1.6688 us/op 1.2120 us/op 1.38
LinkedList of 16000 items push then shift 7.7210 ns/op 7.1240 ns/op 1.08
array of 16000 items push then pop 140.01 ns/op 79.404 ns/op 1.76
LinkedList of 16000 items push then pop 7.3920 ns/op 6.0520 ns/op 1.22
array of 24000 items push then shift 2.5098 us/op 1.7675 us/op 1.42
LinkedList of 24000 items push then shift 7.5310 ns/op 6.7080 ns/op 1.12
array of 24000 items push then pop 154.15 ns/op 102.47 ns/op 1.50
LinkedList of 24000 items push then pop 7.2700 ns/op 6.0500 ns/op 1.20
intersect bitArray bitLen 8 6.5900 ns/op 5.1640 ns/op 1.28
intersect array and set length 8 51.521 ns/op 35.474 ns/op 1.45
intersect bitArray bitLen 128 30.388 ns/op 25.498 ns/op 1.19
intersect array and set length 128 692.60 ns/op 573.44 ns/op 1.21
bitArray.getTrueBitIndexes() bitLen 128 1.8260 us/op 1.3960 us/op 1.31
bitArray.getTrueBitIndexes() bitLen 248 3.3600 us/op 2.0690 us/op 1.62
bitArray.getTrueBitIndexes() bitLen 512 6.6620 us/op 3.7920 us/op 1.76
Buffer.concat 32 items 936.00 ns/op 1.0110 us/op 0.93
Uint8Array.set 32 items 1.4730 us/op 2.0080 us/op 0.73
Buffer.copy 1.7510 us/op 1.8130 us/op 0.97
Uint8Array.set - with subarray 2.8380 us/op 1.8720 us/op 1.52
Uint8Array.set - without subarray 1.6810 us/op 1.4190 us/op 1.18
getUint32 - dataview 255.00 ns/op 406.00 ns/op 0.63
getUint32 - manual 161.00 ns/op 332.00 ns/op 0.48
Set add up to 64 items then delete first 2.3249 us/op 1.7552 us/op 1.32
OrderedSet add up to 64 items then delete first 3.5938 us/op 2.7300 us/op 1.32
Set add up to 64 items then delete last 2.8046 us/op 2.0480 us/op 1.37
OrderedSet add up to 64 items then delete last 3.9637 us/op 3.1501 us/op 1.26
Set add up to 64 items then delete middle 2.7087 us/op 2.0454 us/op 1.32
OrderedSet add up to 64 items then delete middle 5.5040 us/op 4.5576 us/op 1.21
Set add up to 128 items then delete first 5.5717 us/op 3.9423 us/op 1.41
OrderedSet add up to 128 items then delete first 8.1320 us/op 5.8989 us/op 1.38
Set add up to 128 items then delete last 5.2635 us/op 3.9290 us/op 1.34
OrderedSet add up to 128 items then delete last 7.7099 us/op 6.1054 us/op 1.26
Set add up to 128 items then delete middle 5.2951 us/op 3.9268 us/op 1.35
OrderedSet add up to 128 items then delete middle 14.847 us/op 11.927 us/op 1.24
Set add up to 256 items then delete first 11.376 us/op 7.2082 us/op 1.58
OrderedSet add up to 256 items then delete first 17.759 us/op 11.164 us/op 1.59
Set add up to 256 items then delete last 10.405 us/op 7.2220 us/op 1.44
OrderedSet add up to 256 items then delete last 16.097 us/op 11.530 us/op 1.40
Set add up to 256 items then delete middle 10.707 us/op 7.1636 us/op 1.49
OrderedSet add up to 256 items then delete middle 45.833 us/op 32.853 us/op 1.40
transfer serialized Status (84 B) 1.5550 us/op 1.5540 us/op 1.00
copy serialized Status (84 B) 1.2550 us/op 1.3360 us/op 0.94
transfer serialized SignedVoluntaryExit (112 B) 1.5090 us/op 1.6770 us/op 0.90
copy serialized SignedVoluntaryExit (112 B) 1.2890 us/op 1.4590 us/op 0.88
transfer serialized ProposerSlashing (416 B) 1.7790 us/op 2.5100 us/op 0.71
copy serialized ProposerSlashing (416 B) 2.0570 us/op 2.5390 us/op 0.81
transfer serialized Attestation (485 B) 2.3990 us/op 2.3670 us/op 1.01
copy serialized Attestation (485 B) 2.6020 us/op 2.4590 us/op 1.06
transfer serialized AttesterSlashing (33232 B) 2.7390 us/op 2.7370 us/op 1.00
copy serialized AttesterSlashing (33232 B) 7.1650 us/op 5.0920 us/op 1.41
transfer serialized Small SignedBeaconBlock (128000 B) 3.7530 us/op 2.7930 us/op 1.34
copy serialized Small SignedBeaconBlock (128000 B) 20.045 us/op 14.499 us/op 1.38
transfer serialized Avg SignedBeaconBlock (200000 B) 3.9140 us/op 2.5670 us/op 1.52
copy serialized Avg SignedBeaconBlock (200000 B) 29.225 us/op 12.072 us/op 2.42
transfer serialized BlobsSidecar (524380 B) 4.2610 us/op 2.5980 us/op 1.64
copy serialized BlobsSidecar (524380 B) 127.51 us/op 102.70 us/op 1.24
transfer serialized Big SignedBeaconBlock (1000000 B) 3.7300 us/op 3.3070 us/op 1.13
copy serialized Big SignedBeaconBlock (1000000 B) 183.18 us/op 137.54 us/op 1.33
pass gossip attestations to forkchoice per slot 2.8618 ms/op 2.4148 ms/op 1.19
forkChoice updateHead vc 100000 bc 64 eq 0 623.19 us/op 406.49 us/op 1.53
forkChoice updateHead vc 600000 bc 64 eq 0 3.2179 ms/op 2.4888 ms/op 1.29
forkChoice updateHead vc 1000000 bc 64 eq 0 5.4487 ms/op 4.0793 ms/op 1.34
forkChoice updateHead vc 600000 bc 320 eq 0 3.1745 ms/op 2.3563 ms/op 1.35
forkChoice updateHead vc 600000 bc 1200 eq 0 3.2769 ms/op 2.3778 ms/op 1.38
forkChoice updateHead vc 600000 bc 7200 eq 0 3.7197 ms/op 2.8583 ms/op 1.30
forkChoice updateHead vc 600000 bc 64 eq 1000 10.771 ms/op 9.1681 ms/op 1.17
forkChoice updateHead vc 600000 bc 64 eq 10000 10.753 ms/op 9.0124 ms/op 1.19
forkChoice updateHead vc 600000 bc 64 eq 300000 16.953 ms/op 10.988 ms/op 1.54
computeDeltas 500000 validators 300 proto nodes 3.6666 ms/op 2.9131 ms/op 1.26
computeDeltas 500000 validators 1200 proto nodes 3.5315 ms/op 2.9822 ms/op 1.18
computeDeltas 500000 validators 7200 proto nodes 3.5145 ms/op 3.0487 ms/op 1.15
computeDeltas 750000 validators 300 proto nodes 5.3352 ms/op 4.6492 ms/op 1.15
computeDeltas 750000 validators 1200 proto nodes 5.3065 ms/op 4.5435 ms/op 1.17
computeDeltas 750000 validators 7200 proto nodes 5.5113 ms/op 4.6144 ms/op 1.19
computeDeltas 1400000 validators 300 proto nodes 10.560 ms/op 8.7679 ms/op 1.20
computeDeltas 1400000 validators 1200 proto nodes 10.143 ms/op 8.8281 ms/op 1.15
computeDeltas 1400000 validators 7200 proto nodes 9.7872 ms/op 8.7140 ms/op 1.12
computeDeltas 2100000 validators 300 proto nodes 17.120 ms/op 13.373 ms/op 1.28
computeDeltas 2100000 validators 1200 proto nodes 14.313 ms/op 13.379 ms/op 1.07
computeDeltas 2100000 validators 7200 proto nodes 14.276 ms/op 13.010 ms/op 1.10
altair processAttestation - 250000 vs - 7PWei normalcase 1.7587 ms/op 1.4445 ms/op 1.22
altair processAttestation - 250000 vs - 7PWei worstcase 2.6422 ms/op 2.1422 ms/op 1.23
altair processAttestation - setStatus - 1/6 committees join 86.810 us/op 79.887 us/op 1.09
altair processAttestation - setStatus - 1/3 committees join 181.81 us/op 144.41 us/op 1.26
altair processAttestation - setStatus - 1/2 committees join 256.09 us/op 211.25 us/op 1.21
altair processAttestation - setStatus - 2/3 committees join 323.13 us/op 277.98 us/op 1.16
altair processAttestation - setStatus - 4/5 committees join 464.95 us/op 389.94 us/op 1.19
altair processAttestation - setStatus - 100% committees join 574.70 us/op 468.08 us/op 1.23
altair processBlock - 250000 vs - 7PWei normalcase 4.3642 ms/op 3.7004 ms/op 1.18
altair processBlock - 250000 vs - 7PWei normalcase hashState 28.891 ms/op 24.910 ms/op 1.16
altair processBlock - 250000 vs - 7PWei worstcase 32.736 ms/op 35.160 ms/op 0.93
altair processBlock - 250000 vs - 7PWei worstcase hashState 69.620 ms/op 67.930 ms/op 1.02
phase0 processBlock - 250000 vs - 7PWei normalcase 1.7791 ms/op 1.8277 ms/op 0.97
phase0 processBlock - 250000 vs - 7PWei worstcase 21.452 ms/op 21.938 ms/op 0.98
altair processEth1Data - 250000 vs - 7PWei normalcase 319.74 us/op 243.91 us/op 1.31
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.7650 us/op 6.7210 us/op 1.16
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 49.391 us/op 38.024 us/op 1.30
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 12.305 us/op 12.144 us/op 1.01
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 8.5310 us/op 6.7360 us/op 1.27
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 156.37 us/op 149.58 us/op 1.05
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.3446 ms/op 953.99 us/op 1.41
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.9038 ms/op 1.3125 ms/op 1.45
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.8328 ms/op 1.3012 ms/op 1.41
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.0472 ms/op 3.0356 ms/op 1.33
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.8284 ms/op 1.3580 ms/op 1.35
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.9220 ms/op 3.0768 ms/op 1.27
Tree 40 250000 create 226.84 ms/op 183.32 ms/op 1.24
Tree 40 250000 get(125000) 158.33 ns/op 105.83 ns/op 1.50
Tree 40 250000 set(125000) 728.22 ns/op 584.64 ns/op 1.25
Tree 40 250000 toArray() 19.943 ms/op 12.865 ms/op 1.55
Tree 40 250000 iterate all - toArray() + loop 20.651 ms/op 9.6578 ms/op 2.14
Tree 40 250000 iterate all - get(i) 55.973 ms/op 43.002 ms/op 1.30
Array 250000 create 3.7031 ms/op 2.4141 ms/op 1.53
Array 250000 clone - spread 1.5594 ms/op 1.2351 ms/op 1.26
Array 250000 get(125000) 0.46200 ns/op 0.62200 ns/op 0.74
Array 250000 set(125000) 0.48300 ns/op 0.61400 ns/op 0.79
Array 250000 iterate all - loop 113.91 us/op 75.278 us/op 1.51
phase0 afterProcessEpoch - 250000 vs - 7PWei 97.093 ms/op 82.033 ms/op 1.18
Array.fill - length 1000000 3.7798 ms/op 2.5026 ms/op 1.51
Array push - length 1000000 15.956 ms/op 14.611 ms/op 1.09
Array.get 0.28948 ns/op 0.25809 ns/op 1.12
Uint8Array.get 0.44623 ns/op 0.32784 ns/op 1.36
phase0 beforeProcessEpoch - 250000 vs - 7PWei 17.070 ms/op 14.794 ms/op 1.15
altair processEpoch - mainnet_e81889 328.53 ms/op 276.46 ms/op 1.19
mainnet_e81889 - altair beforeProcessEpoch 20.406 ms/op 18.737 ms/op 1.09
mainnet_e81889 - altair processJustificationAndFinalization 15.153 us/op 9.3150 us/op 1.63
mainnet_e81889 - altair processInactivityUpdates 7.5465 ms/op 4.7977 ms/op 1.57
mainnet_e81889 - altair processRewardsAndPenalties 53.600 ms/op 54.563 ms/op 0.98
mainnet_e81889 - altair processRegistryUpdates 2.6680 us/op 1.9330 us/op 1.38
mainnet_e81889 - altair processSlashings 612.00 ns/op 760.00 ns/op 0.81
mainnet_e81889 - altair processEth1DataReset 575.00 ns/op 771.00 ns/op 0.75
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.0486 ms/op 1.7678 ms/op 1.16
mainnet_e81889 - altair processSlashingsReset 6.0390 us/op 3.3310 us/op 1.81
mainnet_e81889 - altair processRandaoMixesReset 6.0510 us/op 4.1960 us/op 1.44
mainnet_e81889 - altair processHistoricalRootsUpdate 625.00 ns/op 575.00 ns/op 1.09
mainnet_e81889 - altair processParticipationFlagUpdates 2.7900 us/op 2.0970 us/op 1.33
mainnet_e81889 - altair processSyncCommitteeUpdates 582.00 ns/op 729.00 ns/op 0.80
mainnet_e81889 - altair afterProcessEpoch 106.51 ms/op 82.792 ms/op 1.29
capella processEpoch - mainnet_e217614 1.2398 s/op 1.2556 s/op 0.99
mainnet_e217614 - capella beforeProcessEpoch 75.646 ms/op 78.466 ms/op 0.96
mainnet_e217614 - capella processJustificationAndFinalization 16.220 us/op 18.625 us/op 0.87
mainnet_e217614 - capella processInactivityUpdates 19.846 ms/op 12.605 ms/op 1.57
mainnet_e217614 - capella processRewardsAndPenalties 254.91 ms/op 254.58 ms/op 1.00
mainnet_e217614 - capella processRegistryUpdates 20.320 us/op 14.403 us/op 1.41
mainnet_e217614 - capella processSlashings 482.00 ns/op 944.00 ns/op 0.51
mainnet_e217614 - capella processEth1DataReset 693.00 ns/op 879.00 ns/op 0.79
mainnet_e217614 - capella processEffectiveBalanceUpdates 16.891 ms/op 14.825 ms/op 1.14
mainnet_e217614 - capella processSlashingsReset 3.6230 us/op 3.4900 us/op 1.04
mainnet_e217614 - capella processRandaoMixesReset 6.7530 us/op 8.5700 us/op 0.79
mainnet_e217614 - capella processHistoricalRootsUpdate 801.00 ns/op 786.00 ns/op 1.02
mainnet_e217614 - capella processParticipationFlagUpdates 4.6330 us/op 2.0430 us/op 2.27
mainnet_e217614 - capella afterProcessEpoch 270.49 ms/op 208.76 ms/op 1.30
phase0 processEpoch - mainnet_e58758 482.07 ms/op 325.79 ms/op 1.48
mainnet_e58758 - phase0 beforeProcessEpoch 94.081 ms/op 91.970 ms/op 1.02
mainnet_e58758 - phase0 processJustificationAndFinalization 19.557 us/op 22.940 us/op 0.85
mainnet_e58758 - phase0 processRewardsAndPenalties 35.551 ms/op 33.206 ms/op 1.07
mainnet_e58758 - phase0 processRegistryUpdates 9.3460 us/op 8.2160 us/op 1.14
mainnet_e58758 - phase0 processSlashings 439.00 ns/op 982.00 ns/op 0.45
mainnet_e58758 - phase0 processEth1DataReset 360.00 ns/op 749.00 ns/op 0.48
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.2858 ms/op 904.00 us/op 1.42
mainnet_e58758 - phase0 processSlashingsReset 3.4150 us/op 5.0950 us/op 0.67
mainnet_e58758 - phase0 processRandaoMixesReset 7.9760 us/op 6.9090 us/op 1.15
mainnet_e58758 - phase0 processHistoricalRootsUpdate 896.00 ns/op 1.0630 us/op 0.84
mainnet_e58758 - phase0 processParticipationRecordUpdates 8.0730 us/op 6.3480 us/op 1.27
mainnet_e58758 - phase0 afterProcessEpoch 86.684 ms/op 75.695 ms/op 1.15
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.6169 ms/op 1.0299 ms/op 1.57
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.9251 ms/op 1.8412 ms/op 1.59
altair processInactivityUpdates - 250000 normalcase 20.023 ms/op 16.875 ms/op 1.19
altair processInactivityUpdates - 250000 worstcase 19.741 ms/op 17.897 ms/op 1.10
phase0 processRegistryUpdates - 250000 normalcase 10.981 us/op 6.2260 us/op 1.76
phase0 processRegistryUpdates - 250000 badcase_full_deposits 335.80 us/op 204.89 us/op 1.64
phase0 processRegistryUpdates - 250000 worstcase 0.5 151.77 ms/op 124.66 ms/op 1.22
altair processRewardsAndPenalties - 250000 normalcase 47.744 ms/op 41.047 ms/op 1.16
altair processRewardsAndPenalties - 250000 worstcase 49.277 ms/op 40.325 ms/op 1.22
phase0 getAttestationDeltas - 250000 normalcase 11.494 ms/op 7.8367 ms/op 1.47
phase0 getAttestationDeltas - 250000 worstcase 8.9959 ms/op 8.3045 ms/op 1.08
phase0 processSlashings - 250000 worstcase 113.94 us/op 96.218 us/op 1.18
altair processSyncCommitteeUpdates - 250000 153.81 ms/op 112.40 ms/op 1.37
BeaconState.hashTreeRoot - No change 367.00 ns/op 485.00 ns/op 0.76
BeaconState.hashTreeRoot - 1 full validator 162.72 us/op 102.89 us/op 1.58
BeaconState.hashTreeRoot - 32 full validator 1.8511 ms/op 1.2056 ms/op 1.54
BeaconState.hashTreeRoot - 512 full validator 18.677 ms/op 12.707 ms/op 1.47
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 179.66 us/op 163.61 us/op 1.10
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.2286 ms/op 1.9054 ms/op 1.17
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 25.443 ms/op 22.771 ms/op 1.12
BeaconState.hashTreeRoot - 1 balances 112.38 us/op 101.71 us/op 1.10
BeaconState.hashTreeRoot - 32 balances 1.0630 ms/op 1.0436 ms/op 1.02
BeaconState.hashTreeRoot - 512 balances 9.7904 ms/op 9.1315 ms/op 1.07
BeaconState.hashTreeRoot - 250000 balances 208.18 ms/op 154.59 ms/op 1.35
aggregationBits - 2048 els - zipIndexesInBitList 37.503 us/op 21.989 us/op 1.71
byteArrayEquals 32 60.957 ns/op 49.146 ns/op 1.24
Buffer.compare 32 20.165 ns/op 15.658 ns/op 1.29
byteArrayEquals 1024 1.6982 us/op 1.2916 us/op 1.31
Buffer.compare 1024 27.178 ns/op 23.384 ns/op 1.16
byteArrayEquals 16384 26.626 us/op 20.478 us/op 1.30
Buffer.compare 16384 220.15 ns/op 206.85 ns/op 1.06
byteArrayEquals 123687377 207.89 ms/op 153.71 ms/op 1.35
Buffer.compare 123687377 10.123 ms/op 6.2576 ms/op 1.62
byteArrayEquals 32 - diff last byte 56.830 ns/op 47.822 ns/op 1.19
Buffer.compare 32 - diff last byte 18.843 ns/op 15.783 ns/op 1.19
byteArrayEquals 1024 - diff last byte 1.6813 us/op 1.2695 us/op 1.32
Buffer.compare 1024 - diff last byte 28.735 ns/op 23.918 ns/op 1.20
byteArrayEquals 16384 - diff last byte 26.955 us/op 20.394 us/op 1.32
Buffer.compare 16384 - diff last byte 208.24 ns/op 181.71 ns/op 1.15
byteArrayEquals 123687377 - diff last byte 216.80 ms/op 153.32 ms/op 1.41
Buffer.compare 123687377 - diff last byte 10.785 ms/op 5.0693 ms/op 2.13
byteArrayEquals 32 - random bytes 5.9110 ns/op 5.0750 ns/op 1.16
Buffer.compare 32 - random bytes 19.931 ns/op 15.975 ns/op 1.25
byteArrayEquals 1024 - random bytes 6.1250 ns/op 5.0320 ns/op 1.22
Buffer.compare 1024 - random bytes 20.919 ns/op 15.847 ns/op 1.32
byteArrayEquals 16384 - random bytes 5.9850 ns/op 5.0220 ns/op 1.19
Buffer.compare 16384 - random bytes 19.343 ns/op 15.735 ns/op 1.23
byteArrayEquals 123687377 - random bytes 8.4500 ns/op 7.9400 ns/op 1.06
Buffer.compare 123687377 - random bytes 23.400 ns/op 18.810 ns/op 1.24
regular array get 100000 times 39.275 us/op 31.163 us/op 1.26
wrappedArray get 100000 times 42.827 us/op 31.342 us/op 1.37
arrayWithProxy get 100000 times 15.501 ms/op 10.485 ms/op 1.48
ssz.Root.equals 53.911 ns/op 44.735 ns/op 1.21
byteArrayEquals 52.524 ns/op 42.979 ns/op 1.22
Buffer.compare 12.451 ns/op 9.1590 ns/op 1.36
shuffle list - 16384 els 7.3178 ms/op 5.5541 ms/op 1.32
shuffle list - 250000 els 111.71 ms/op 82.730 ms/op 1.35
processSlot - 1 slots 19.231 us/op 12.760 us/op 1.51
processSlot - 32 slots 3.8492 ms/op 3.5015 ms/op 1.10
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 47.874 ms/op 37.301 ms/op 1.28
getCommitteeAssignments - req 1 vs - 250000 vc 2.6042 ms/op 1.8823 ms/op 1.38
getCommitteeAssignments - req 100 vs - 250000 vc 4.6706 ms/op 3.6017 ms/op 1.30
getCommitteeAssignments - req 1000 vs - 250000 vc 4.9084 ms/op 3.9432 ms/op 1.24
findModifiedValidators - 10000 modified validators 439.45 ms/op 267.56 ms/op 1.64
findModifiedValidators - 1000 modified validators 309.38 ms/op 182.76 ms/op 1.69
findModifiedValidators - 100 modified validators 233.64 ms/op 201.29 ms/op 1.16
findModifiedValidators - 10 modified validators 242.47 ms/op 172.95 ms/op 1.40
findModifiedValidators - 1 modified validators 240.68 ms/op 190.95 ms/op 1.26
findModifiedValidators - no difference 289.56 ms/op 187.88 ms/op 1.54
compare ViewDUs 4.1233 s/op 3.2009 s/op 1.29
compare each validator Uint8Array 1.6364 s/op 1.4094 s/op 1.16
compare ViewDU to Uint8Array 1.3861 s/op 1.1720 s/op 1.18
migrate state 1000000 validators, 24 modified, 0 new 727.60 ms/op 713.04 ms/op 1.02
migrate state 1000000 validators, 1700 modified, 1000 new 957.12 ms/op 932.08 ms/op 1.03
migrate state 1000000 validators, 3400 modified, 2000 new 1.0366 s/op 1.0690 s/op 0.97
migrate state 1500000 validators, 24 modified, 0 new 605.33 ms/op 628.50 ms/op 0.96
migrate state 1500000 validators, 1700 modified, 1000 new 805.03 ms/op 832.72 ms/op 0.97
migrate state 1500000 validators, 3400 modified, 2000 new 1.0101 s/op 938.73 ms/op 1.08
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.3000 ns/op 6.4400 ns/op 0.67
state getBlockRootAtSlot - 250000 vs - 7PWei 859.32 ns/op 774.91 ns/op 1.11
computeProposers - vc 250000 8.0029 ms/op 6.9285 ms/op 1.16
computeEpochShuffling - vc 250000 91.154 ms/op 79.670 ms/op 1.14
getNextSyncCommittee - vc 250000 118.95 ms/op 105.94 ms/op 1.12
computeSigningRoot for AttestationData 21.692 us/op 20.197 us/op 1.07
hash AttestationData serialized data then Buffer.toString(base64) 1.5574 us/op 1.1852 us/op 1.31
toHexString serialized data 854.76 ns/op 759.79 ns/op 1.12
Buffer.toString(base64) 175.04 ns/op 145.27 ns/op 1.20
block root to RootHex using toHex 146.96 ns/op
block root to RootHex using toRootHex 94.432 ns/op

by benchmarkbot/action

@philknows philknows added this to the v1.22.0 milestone Sep 3, 2024
@twoeths twoeths merged commit b05c93e into unstable Sep 5, 2024
20 checks passed
@twoeths twoeths deleted the nflaig/attestation-logs branch September 5, 2024 01:35
@wemeetagain
Copy link
Member

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

5 participants