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: include slot in publish to topic log #6662

Merged
merged 2 commits into from
Apr 15, 2024
Merged

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Apr 12, 2024

Motivation

Make publish to topic logs searchable by slot

Description

Include slot in publish to topic log

@nflaig nflaig requested a review from a team as a code owner April 12, 2024 11:26
@@ -408,7 +408,7 @@ export class Network implements INetwork {
};
const sentPeers = await this.core.publishGossip(topicStr, messageData, opts);

this.logger.verbose("Publish to topic", {topic: topicStr, sentPeers});
this.logger.verbose("Publish to topic", {topic: topicStr, sentPeers, slot: this.clock.currentSlot});
Copy link
Member Author

@nflaig nflaig Apr 12, 2024

Choose a reason for hiding this comment

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

Not every message includes a slot, e.g. voluntary exit or bls to execution change, that's why I opted to use the clock slot instead when the message was published.

To clarify this, we could also do clockSlot: this.clock.currentSlot or currentSlot: this.clock.currentSlot, but curious what others think

Copy link
Member

Choose a reason for hiding this comment

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

Personally think the clarification of clockSlot or other might be helpful here.

Copy link
Member Author

Choose a reason for hiding this comment

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

currentSlot seems to be the more commonly used, and I think we only use it for the current slot in terms of time-based, whereas slot could be message slot or time-based slot

Copy link

codecov bot commented Apr 12, 2024

Codecov Report

Merging #6662 (9fb7388) into unstable (669239b) will decrease coverage by 0.02%.
Report is 2 commits behind head on unstable.
The diff coverage is 0.00%.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #6662      +/-   ##
============================================
- Coverage     61.81%   61.80%   -0.02%     
============================================
  Files           556      556              
  Lines         59050    59073      +23     
  Branches       1898     1898              
============================================
+ Hits          36502    36508       +6     
- Misses        22505    22522      +17     
  Partials         43       43              

Copy link
Contributor

github-actions bot commented Apr 12, 2024

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: dd14f49 Previous: e68a6a2 Ratio
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 11.413 us/op 43.828 us/op 0.26
Full benchmark results
Benchmark suite Current: dd14f49 Previous: e68a6a2 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 937.04 us/op 872.80 us/op 1.07
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 56.180 us/op 124.25 us/op 0.45
BLS verify - blst-native 1.0781 ms/op 1.5106 ms/op 0.71
BLS verifyMultipleSignatures 3 - blst-native 2.3719 ms/op 3.2990 ms/op 0.72
BLS verifyMultipleSignatures 8 - blst-native 5.2606 ms/op 7.2980 ms/op 0.72
BLS verifyMultipleSignatures 32 - blst-native 19.296 ms/op 26.579 ms/op 0.73
BLS verifyMultipleSignatures 64 - blst-native 38.086 ms/op 51.524 ms/op 0.74
BLS verifyMultipleSignatures 128 - blst-native 76.469 ms/op 96.223 ms/op 0.79
BLS deserializing 10000 signatures 804.43 ms/op 995.95 ms/op 0.81
BLS deserializing 100000 signatures 8.2537 s/op 10.545 s/op 0.78
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.1111 ms/op 1.5677 ms/op 0.71
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.3224 ms/op 1.6839 ms/op 0.79
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.6585 ms/op 2.7970 ms/op 0.95
BLS verifyMultipleSignatures - same message - 64 - blst-native 2.9335 ms/op 4.1386 ms/op 0.71
BLS verifyMultipleSignatures - same message - 128 - blst-native 6.9426 ms/op 6.3350 ms/op 1.10
BLS aggregatePubkeys 32 - blst-native 24.820 us/op 29.077 us/op 0.85
BLS aggregatePubkeys 128 - blst-native 89.508 us/op 115.94 us/op 0.77
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 59.147 ms/op 69.695 ms/op 0.85
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 50.218 ms/op 68.561 ms/op 0.73
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 26.556 ms/op 54.851 ms/op 0.48
getSlashingsAndExits - default max 124.55 us/op 204.61 us/op 0.61
getSlashingsAndExits - 2k 378.47 us/op 434.83 us/op 0.87
proposeBlockBody type=full, size=empty 4.4690 ms/op 7.1220 ms/op 0.63
isKnown best case - 1 super set check 734.00 ns/op 403.00 ns/op 1.82
isKnown normal case - 2 super set checks 722.00 ns/op 400.00 ns/op 1.80
isKnown worse case - 16 super set checks 768.00 ns/op 360.00 ns/op 2.13
InMemoryCheckpointStateCache - add get delete 6.6310 us/op 6.8450 us/op 0.97
validate api signedAggregateAndProof - struct 2.4739 ms/op 3.1324 ms/op 0.79
validate gossip signedAggregateAndProof - struct 2.4235 ms/op 3.1886 ms/op 0.76
validate gossip attestation - vc 640000 1.1839 ms/op 1.5052 ms/op 0.79
batch validate gossip attestation - vc 640000 - chunk 32 144.32 us/op 186.32 us/op 0.77
batch validate gossip attestation - vc 640000 - chunk 64 125.53 us/op 166.40 us/op 0.75
batch validate gossip attestation - vc 640000 - chunk 128 114.36 us/op 163.08 us/op 0.70
batch validate gossip attestation - vc 640000 - chunk 256 115.86 us/op 156.94 us/op 0.74
pickEth1Vote - no votes 870.92 us/op 1.5366 ms/op 0.57
pickEth1Vote - max votes 6.2414 ms/op 10.651 ms/op 0.59
pickEth1Vote - Eth1Data hashTreeRoot value x2048 14.289 ms/op 24.419 ms/op 0.59
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 19.350 ms/op 35.682 ms/op 0.54
pickEth1Vote - Eth1Data fastSerialize value x2048 440.35 us/op 791.52 us/op 0.56
pickEth1Vote - Eth1Data fastSerialize tree x2048 7.1627 ms/op 5.9551 ms/op 1.20
bytes32 toHexString 746.00 ns/op 720.00 ns/op 1.04
bytes32 Buffer.toString(hex) 354.00 ns/op 319.00 ns/op 1.11
bytes32 Buffer.toString(hex) from Uint8Array 594.00 ns/op 490.00 ns/op 1.21
bytes32 Buffer.toString(hex) + 0x 335.00 ns/op 332.00 ns/op 1.01
Object access 1 prop 0.24800 ns/op 0.19400 ns/op 1.28
Map access 1 prop 0.19500 ns/op 0.16900 ns/op 1.15
Object get x1000 4.9630 ns/op 8.2370 ns/op 0.60
Map get x1000 0.76700 ns/op 0.88500 ns/op 0.87
Object set x1000 28.902 ns/op 58.645 ns/op 0.49
Map set x1000 17.935 ns/op 48.838 ns/op 0.37
Return object 10000 times 0.23000 ns/op 0.28140 ns/op 0.82
Throw Error 10000 times 2.7998 us/op 4.5081 us/op 0.62
fastMsgIdFn sha256 / 200 bytes 2.0560 us/op 4.2620 us/op 0.48
fastMsgIdFn h32 xxhash / 200 bytes 376.00 ns/op 348.00 ns/op 1.08
fastMsgIdFn h64 xxhash / 200 bytes 396.00 ns/op 405.00 ns/op 0.98
fastMsgIdFn sha256 / 1000 bytes 6.1290 us/op 12.509 us/op 0.49
fastMsgIdFn h32 xxhash / 1000 bytes 471.00 ns/op 506.00 ns/op 0.93
fastMsgIdFn h64 xxhash / 1000 bytes 436.00 ns/op 480.00 ns/op 0.91
fastMsgIdFn sha256 / 10000 bytes 54.698 us/op 111.87 us/op 0.49
fastMsgIdFn h32 xxhash / 10000 bytes 1.8630 us/op 2.1970 us/op 0.85
fastMsgIdFn h64 xxhash / 10000 bytes 1.2760 us/op 1.5590 us/op 0.82
send data - 1000 256B messages 13.413 ms/op 21.850 ms/op 0.61
send data - 1000 512B messages 21.164 ms/op 29.451 ms/op 0.72
send data - 1000 1024B messages 25.653 ms/op 46.595 ms/op 0.55
send data - 1000 1200B messages 33.929 ms/op 42.117 ms/op 0.81
send data - 1000 2048B messages 44.231 ms/op 53.524 ms/op 0.83
send data - 1000 4096B messages 35.366 ms/op 30.505 ms/op 1.16
send data - 1000 16384B messages 96.886 ms/op 122.36 ms/op 0.79
send data - 1000 65536B messages 402.82 ms/op 530.95 ms/op 0.76
enrSubnets - fastDeserialize 64 bits 1.2360 us/op 1.4560 us/op 0.85
enrSubnets - ssz BitVector 64 bits 573.00 ns/op 594.00 ns/op 0.96
enrSubnets - fastDeserialize 4 bits 283.00 ns/op 237.00 ns/op 1.19
enrSubnets - ssz BitVector 4 bits 548.00 ns/op 549.00 ns/op 1.00
prioritizePeers score -10:0 att 32-0.1 sync 2-0 156.13 us/op 240.09 us/op 0.65
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 234.42 us/op 354.93 us/op 0.66
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 259.29 us/op 418.07 us/op 0.62
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 390.18 us/op 684.31 us/op 0.57
prioritizePeers score 0:0 att 64-1 sync 4-1 494.57 us/op 791.15 us/op 0.63
array of 16000 items push then shift 1.3375 us/op 1.8089 us/op 0.74
LinkedList of 16000 items push then shift 8.7020 ns/op 10.067 ns/op 0.86
array of 16000 items push then pop 104.29 ns/op 123.58 ns/op 0.84
LinkedList of 16000 items push then pop 5.8120 ns/op 10.112 ns/op 0.57
array of 24000 items push then shift 1.9672 us/op 2.8616 us/op 0.69
LinkedList of 24000 items push then shift 6.3380 ns/op 10.586 ns/op 0.60
array of 24000 items push then pop 117.33 ns/op 146.43 ns/op 0.80
LinkedList of 24000 items push then pop 5.7540 ns/op 9.4200 ns/op 0.61
intersect bitArray bitLen 8 5.0220 ns/op 6.2630 ns/op 0.80
intersect array and set length 8 50.055 ns/op 70.896 ns/op 0.71
intersect bitArray bitLen 128 29.556 ns/op 39.801 ns/op 0.74
intersect array and set length 128 693.96 ns/op 1.1703 us/op 0.59
bitArray.getTrueBitIndexes() bitLen 128 1.2360 us/op 1.8070 us/op 0.68
bitArray.getTrueBitIndexes() bitLen 248 2.3210 us/op 3.1180 us/op 0.74
bitArray.getTrueBitIndexes() bitLen 512 4.0760 us/op 6.1840 us/op 0.66
Buffer.concat 32 items 865.00 ns/op 1.1220 us/op 0.77
Uint8Array.set 32 items 1.6640 us/op 2.3520 us/op 0.71
Set add up to 64 items then delete first 1.7846 us/op 5.0146 us/op 0.36
OrderedSet add up to 64 items then delete first 2.7140 us/op 6.4642 us/op 0.42
Set add up to 64 items then delete last 2.0119 us/op 5.0029 us/op 0.40
OrderedSet add up to 64 items then delete last 3.2716 us/op 6.4999 us/op 0.50
Set add up to 64 items then delete middle 2.0081 us/op 5.5257 us/op 0.36
OrderedSet add up to 64 items then delete middle 4.2871 us/op 8.1549 us/op 0.53
Set add up to 128 items then delete first 3.9764 us/op 10.667 us/op 0.37
OrderedSet add up to 128 items then delete first 6.2626 us/op 13.627 us/op 0.46
Set add up to 128 items then delete last 3.8793 us/op 9.6956 us/op 0.40
OrderedSet add up to 128 items then delete last 5.8002 us/op 12.400 us/op 0.47
Set add up to 128 items then delete middle 3.8511 us/op 10.001 us/op 0.39
OrderedSet add up to 128 items then delete middle 11.246 us/op 19.532 us/op 0.58
Set add up to 256 items then delete first 8.0523 us/op 20.075 us/op 0.40
OrderedSet add up to 256 items then delete first 13.114 us/op 26.429 us/op 0.50
Set add up to 256 items then delete last 7.6024 us/op 19.205 us/op 0.40
OrderedSet add up to 256 items then delete last 12.062 us/op 24.844 us/op 0.49
Set add up to 256 items then delete middle 7.8086 us/op 19.064 us/op 0.41
OrderedSet add up to 256 items then delete middle 33.711 us/op 47.168 us/op 0.71
transfer serialized Status (84 B) 1.6330 us/op 1.7940 us/op 0.91
copy serialized Status (84 B) 1.2220 us/op 1.4680 us/op 0.83
transfer serialized SignedVoluntaryExit (112 B) 1.5840 us/op 2.0490 us/op 0.77
copy serialized SignedVoluntaryExit (112 B) 1.2060 us/op 1.4180 us/op 0.85
transfer serialized ProposerSlashing (416 B) 1.7820 us/op 2.5400 us/op 0.70
copy serialized ProposerSlashing (416 B) 1.4990 us/op 2.2160 us/op 0.68
transfer serialized Attestation (485 B) 1.9100 us/op 2.3750 us/op 0.80
copy serialized Attestation (485 B) 1.9190 us/op 2.1110 us/op 0.91
transfer serialized AttesterSlashing (33232 B) 2.0210 us/op 2.2940 us/op 0.88
copy serialized AttesterSlashing (33232 B) 4.9580 us/op 6.2090 us/op 0.80
transfer serialized Small SignedBeaconBlock (128000 B) 2.4110 us/op 2.8190 us/op 0.86
copy serialized Small SignedBeaconBlock (128000 B) 9.7500 us/op 18.951 us/op 0.51
transfer serialized Avg SignedBeaconBlock (200000 B) 2.3840 us/op 3.1710 us/op 0.75
copy serialized Avg SignedBeaconBlock (200000 B) 14.785 us/op 25.421 us/op 0.58
transfer serialized BlobsSidecar (524380 B) 2.8320 us/op 3.2310 us/op 0.88
copy serialized BlobsSidecar (524380 B) 86.212 us/op 90.175 us/op 0.96
transfer serialized Big SignedBeaconBlock (1000000 B) 3.0880 us/op 3.9960 us/op 0.77
copy serialized Big SignedBeaconBlock (1000000 B) 245.51 us/op 170.13 us/op 1.44
pass gossip attestations to forkchoice per slot 2.9412 ms/op 4.7769 ms/op 0.62
forkChoice updateHead vc 100000 bc 64 eq 0 483.90 us/op 720.82 us/op 0.67
forkChoice updateHead vc 600000 bc 64 eq 0 2.7779 ms/op 5.2336 ms/op 0.53
forkChoice updateHead vc 1000000 bc 64 eq 0 4.4180 ms/op 8.2675 ms/op 0.53
forkChoice updateHead vc 600000 bc 320 eq 0 2.9531 ms/op 4.5981 ms/op 0.64
forkChoice updateHead vc 600000 bc 1200 eq 0 2.9499 ms/op 4.5413 ms/op 0.65
forkChoice updateHead vc 600000 bc 7200 eq 0 3.6648 ms/op 6.8462 ms/op 0.54
forkChoice updateHead vc 600000 bc 64 eq 1000 10.157 ms/op 13.444 ms/op 0.76
forkChoice updateHead vc 600000 bc 64 eq 10000 9.9874 ms/op 13.182 ms/op 0.76
forkChoice updateHead vc 600000 bc 64 eq 300000 12.637 ms/op 16.666 ms/op 0.76
computeDeltas 500000 validators 300 proto nodes 3.3663 ms/op 7.3891 ms/op 0.46
computeDeltas 500000 validators 1200 proto nodes 3.3478 ms/op 7.7033 ms/op 0.43
computeDeltas 500000 validators 7200 proto nodes 3.1848 ms/op 7.6405 ms/op 0.42
computeDeltas 750000 validators 300 proto nodes 4.6876 ms/op 11.120 ms/op 0.42
computeDeltas 750000 validators 1200 proto nodes 4.7775 ms/op 11.358 ms/op 0.42
computeDeltas 750000 validators 7200 proto nodes 4.7323 ms/op 10.861 ms/op 0.44
computeDeltas 1400000 validators 300 proto nodes 9.6453 ms/op 22.780 ms/op 0.42
computeDeltas 1400000 validators 1200 proto nodes 9.5668 ms/op 21.793 ms/op 0.44
computeDeltas 1400000 validators 7200 proto nodes 9.9415 ms/op 22.940 ms/op 0.43
computeDeltas 2100000 validators 300 proto nodes 14.041 ms/op 34.059 ms/op 0.41
computeDeltas 2100000 validators 1200 proto nodes 13.622 ms/op 36.844 ms/op 0.37
computeDeltas 2100000 validators 7200 proto nodes 13.444 ms/op 37.033 ms/op 0.36
altair processAttestation - 250000 vs - 7PWei normalcase 2.3988 ms/op 5.6310 ms/op 0.43
altair processAttestation - 250000 vs - 7PWei worstcase 3.6950 ms/op 8.0087 ms/op 0.46
altair processAttestation - setStatus - 1/6 committees join 93.858 us/op 262.69 us/op 0.36
altair processAttestation - setStatus - 1/3 committees join 166.59 us/op 422.64 us/op 0.39
altair processAttestation - setStatus - 1/2 committees join 248.92 us/op 606.20 us/op 0.41
altair processAttestation - setStatus - 2/3 committees join 306.76 us/op 742.32 us/op 0.41
altair processAttestation - setStatus - 4/5 committees join 436.48 us/op 973.52 us/op 0.45
altair processAttestation - setStatus - 100% committees join 511.12 us/op 1.1879 ms/op 0.43
altair processBlock - 250000 vs - 7PWei normalcase 7.6462 ms/op 10.361 ms/op 0.74
altair processBlock - 250000 vs - 7PWei normalcase hashState 30.029 ms/op 54.505 ms/op 0.55
altair processBlock - 250000 vs - 7PWei worstcase 36.945 ms/op 55.243 ms/op 0.67
altair processBlock - 250000 vs - 7PWei worstcase hashState 79.264 ms/op 135.22 ms/op 0.59
phase0 processBlock - 250000 vs - 7PWei normalcase 3.6800 ms/op 4.9965 ms/op 0.74
phase0 processBlock - 250000 vs - 7PWei worstcase 27.907 ms/op 43.444 ms/op 0.64
altair processEth1Data - 250000 vs - 7PWei normalcase 515.06 us/op 957.13 us/op 0.54
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 11.819 us/op 21.811 us/op 0.54
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 56.870 us/op 112.38 us/op 0.51
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 11.413 us/op 43.828 us/op 0.26
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 16.250 us/op 23.958 us/op 0.68
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 187.91 us/op 319.37 us/op 0.59
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.4137 ms/op 3.0704 ms/op 0.46
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.7121 ms/op 3.7382 ms/op 0.46
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.2489 ms/op 2.4735 ms/op 0.50
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.7529 ms/op 6.7412 ms/op 0.41
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.8085 ms/op 4.4165 ms/op 0.41
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 4.6943 ms/op 10.632 ms/op 0.44
Tree 40 250000 create 362.07 ms/op 1.2615 s/op 0.29
Tree 40 250000 get(125000) 125.67 ns/op 326.75 ns/op 0.38
Tree 40 250000 set(125000) 805.04 ns/op 3.7134 us/op 0.22
Tree 40 250000 toArray() 27.259 ms/op 35.421 ms/op 0.77
Tree 40 250000 iterate all - toArray() + loop 26.207 ms/op 46.172 ms/op 0.57
Tree 40 250000 iterate all - get(i) 57.134 ms/op 110.43 ms/op 0.52
MutableVector 250000 create 16.059 ms/op 22.985 ms/op 0.70
MutableVector 250000 get(125000) 5.9710 ns/op 8.9230 ns/op 0.67
MutableVector 250000 set(125000) 608.74 ns/op 842.05 ns/op 0.72
MutableVector 250000 toArray() 4.1688 ms/op 7.0878 ms/op 0.59
MutableVector 250000 iterate all - toArray() + loop 3.4250 ms/op 6.5375 ms/op 0.52
MutableVector 250000 iterate all - get(i) 1.3887 ms/op 2.4128 ms/op 0.58
Array 250000 create 2.8286 ms/op 5.6374 ms/op 0.50
Array 250000 clone - spread 1.2818 ms/op 5.2542 ms/op 0.24
Array 250000 get(125000) 1.1050 ns/op 3.0430 ns/op 0.36
Array 250000 set(125000) 1.3170 ns/op 7.3580 ns/op 0.18
Array 250000 iterate all - loop 158.35 us/op 215.92 us/op 0.73
effectiveBalanceIncrements clone Uint8Array 300000 17.639 us/op 89.037 us/op 0.20
effectiveBalanceIncrements clone MutableVector 300000 459.00 ns/op 2.0980 us/op 0.22
effectiveBalanceIncrements rw all Uint8Array 300000 189.35 us/op 265.27 us/op 0.71
effectiveBalanceIncrements rw all MutableVector 300000 154.65 ms/op 256.75 ms/op 0.60
phase0 afterProcessEpoch - 250000 vs - 7PWei 79.022 ms/op 156.17 ms/op 0.51
phase0 beforeProcessEpoch - 250000 vs - 7PWei 66.468 ms/op 105.02 ms/op 0.63
altair processEpoch - mainnet_e81889 558.34 ms/op 806.00 ms/op 0.69
mainnet_e81889 - altair beforeProcessEpoch 108.71 ms/op 141.52 ms/op 0.77
mainnet_e81889 - altair processJustificationAndFinalization 16.955 us/op 25.584 us/op 0.66
mainnet_e81889 - altair processInactivityUpdates 6.5726 ms/op 8.2017 ms/op 0.80
mainnet_e81889 - altair processRewardsAndPenalties 59.225 ms/op 97.205 ms/op 0.61
mainnet_e81889 - altair processRegistryUpdates 4.1150 us/op 4.5880 us/op 0.90
mainnet_e81889 - altair processSlashings 860.00 ns/op 989.00 ns/op 0.87
mainnet_e81889 - altair processEth1DataReset 913.00 ns/op 1.3760 us/op 0.66
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.0798 ms/op 1.5942 ms/op 0.68
mainnet_e81889 - altair processSlashingsReset 5.5700 us/op 5.5700 us/op 1.00
mainnet_e81889 - altair processRandaoMixesReset 6.1430 us/op 7.2200 us/op 0.85
mainnet_e81889 - altair processHistoricalRootsUpdate 1.2960 us/op 950.00 ns/op 1.36
mainnet_e81889 - altair processParticipationFlagUpdates 3.4890 us/op 2.7730 us/op 1.26
mainnet_e81889 - altair processSyncCommitteeUpdates 1.1070 us/op 875.00 ns/op 1.27
mainnet_e81889 - altair afterProcessEpoch 82.849 ms/op 165.59 ms/op 0.50
capella processEpoch - mainnet_e217614 1.8299 s/op 2.8857 s/op 0.63
mainnet_e217614 - capella beforeProcessEpoch 437.77 ms/op 730.40 ms/op 0.60
mainnet_e217614 - capella processJustificationAndFinalization 10.118 us/op 37.084 us/op 0.27
mainnet_e217614 - capella processInactivityUpdates 16.148 ms/op 26.971 ms/op 0.60
mainnet_e217614 - capella processRewardsAndPenalties 488.32 ms/op 864.03 ms/op 0.57
mainnet_e217614 - capella processRegistryUpdates 26.517 us/op 35.069 us/op 0.76
mainnet_e217614 - capella processSlashings 807.00 ns/op 1.3250 us/op 0.61
mainnet_e217614 - capella processEth1DataReset 554.00 ns/op 1.4530 us/op 0.38
mainnet_e217614 - capella processEffectiveBalanceUpdates 3.3792 ms/op 7.6303 ms/op 0.44
mainnet_e217614 - capella processSlashingsReset 2.8980 us/op 10.164 us/op 0.29
mainnet_e217614 - capella processRandaoMixesReset 4.3000 us/op 13.729 us/op 0.31
mainnet_e217614 - capella processHistoricalRootsUpdate 871.00 ns/op 1.8460 us/op 0.47
mainnet_e217614 - capella processParticipationFlagUpdates 1.5610 us/op 5.8600 us/op 0.27
mainnet_e217614 - capella afterProcessEpoch 213.00 ms/op 451.17 ms/op 0.47
phase0 processEpoch - mainnet_e58758 434.71 ms/op 712.06 ms/op 0.61
mainnet_e58758 - phase0 beforeProcessEpoch 101.72 ms/op 229.45 ms/op 0.44
mainnet_e58758 - phase0 processJustificationAndFinalization 12.552 us/op 39.587 us/op 0.32
mainnet_e58758 - phase0 processRewardsAndPenalties 52.352 ms/op 92.504 ms/op 0.57
mainnet_e58758 - phase0 processRegistryUpdates 7.2770 us/op 26.469 us/op 0.27
mainnet_e58758 - phase0 processSlashings 607.00 ns/op 1.2390 us/op 0.49
mainnet_e58758 - phase0 processEth1DataReset 562.00 ns/op 903.00 ns/op 0.62
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 845.02 us/op 1.7758 ms/op 0.48
mainnet_e58758 - phase0 processSlashingsReset 2.4960 us/op 7.7160 us/op 0.32
mainnet_e58758 - phase0 processRandaoMixesReset 6.3680 us/op 13.617 us/op 0.47
mainnet_e58758 - phase0 processHistoricalRootsUpdate 913.00 ns/op 1.5910 us/op 0.57
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.3440 us/op 10.975 us/op 0.30
mainnet_e58758 - phase0 afterProcessEpoch 71.544 ms/op 137.40 ms/op 0.52
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0161 ms/op 2.5731 ms/op 0.39
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.1395 ms/op 2.2346 ms/op 0.51
altair processInactivityUpdates - 250000 normalcase 31.039 ms/op 45.950 ms/op 0.68
altair processInactivityUpdates - 250000 worstcase 24.064 ms/op 47.581 ms/op 0.51
phase0 processRegistryUpdates - 250000 normalcase 12.452 us/op 23.930 us/op 0.52
phase0 processRegistryUpdates - 250000 badcase_full_deposits 413.21 us/op 567.26 us/op 0.73
phase0 processRegistryUpdates - 250000 worstcase 0.5 112.69 ms/op 256.43 ms/op 0.44
altair processRewardsAndPenalties - 250000 normalcase 63.389 ms/op 89.563 ms/op 0.71
altair processRewardsAndPenalties - 250000 worstcase 64.489 ms/op 104.91 ms/op 0.61
phase0 getAttestationDeltas - 250000 normalcase 5.7251 ms/op 15.529 ms/op 0.37
phase0 getAttestationDeltas - 250000 worstcase 5.8055 ms/op 17.210 ms/op 0.34
phase0 processSlashings - 250000 worstcase 93.207 us/op 121.62 us/op 0.77
altair processSyncCommitteeUpdates - 250000 132.05 ms/op 254.74 ms/op 0.52
BeaconState.hashTreeRoot - No change 605.00 ns/op 1.0300 us/op 0.59
BeaconState.hashTreeRoot - 1 full validator 100.22 us/op 204.83 us/op 0.49
BeaconState.hashTreeRoot - 32 full validator 1.1053 ms/op 1.9969 ms/op 0.55
BeaconState.hashTreeRoot - 512 full validator 12.286 ms/op 22.623 ms/op 0.54
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 143.56 us/op 280.35 us/op 0.51
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.0732 ms/op 3.9156 ms/op 0.53
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 25.718 ms/op 44.730 ms/op 0.57
BeaconState.hashTreeRoot - 1 balances 97.364 us/op 211.31 us/op 0.46
BeaconState.hashTreeRoot - 32 balances 855.17 us/op 1.9173 ms/op 0.45
BeaconState.hashTreeRoot - 512 balances 8.9184 ms/op 18.673 ms/op 0.48
BeaconState.hashTreeRoot - 250000 balances 181.48 ms/op 351.53 ms/op 0.52
aggregationBits - 2048 els - zipIndexesInBitList 27.247 us/op 53.375 us/op 0.51
byteArrayEquals 32 69.697 ns/op 107.48 ns/op 0.65
Buffer.compare 32 39.006 ns/op 82.465 ns/op 0.47
byteArrayEquals 1024 1.9237 us/op 2.5920 us/op 0.74
Buffer.compare 1024 49.221 ns/op 93.334 ns/op 0.53
byteArrayEquals 16384 29.740 us/op 43.289 us/op 0.69
Buffer.compare 16384 247.21 ns/op 331.61 ns/op 0.75
byteArrayEquals 123687377 207.53 ms/op 470.55 ms/op 0.44
Buffer.compare 123687377 5.8420 ms/op 10.288 ms/op 0.57
byteArrayEquals 32 - diff last byte 62.512 ns/op 97.955 ns/op 0.64
Buffer.compare 32 - diff last byte 38.941 ns/op 69.711 ns/op 0.56
byteArrayEquals 1024 - diff last byte 1.7940 us/op 2.3867 us/op 0.75
Buffer.compare 1024 - diff last byte 45.799 ns/op 93.443 ns/op 0.49
byteArrayEquals 16384 - diff last byte 28.101 us/op 38.019 us/op 0.74
Buffer.compare 16384 - diff last byte 234.32 ns/op 300.92 ns/op 0.78
byteArrayEquals 123687377 - diff last byte 213.34 ms/op 298.68 ms/op 0.71
Buffer.compare 123687377 - diff last byte 5.9778 ms/op 11.009 ms/op 0.54
byteArrayEquals 32 - random bytes 5.4040 ns/op 7.9720 ns/op 0.68
Buffer.compare 32 - random bytes 41.061 ns/op 78.089 ns/op 0.53
byteArrayEquals 1024 - random bytes 4.6490 ns/op 7.4250 ns/op 0.63
Buffer.compare 1024 - random bytes 40.872 ns/op 83.577 ns/op 0.49
byteArrayEquals 16384 - random bytes 4.7200 ns/op 7.6740 ns/op 0.62
Buffer.compare 16384 - random bytes 41.026 ns/op 82.607 ns/op 0.50
byteArrayEquals 123687377 - random bytes 7.9800 ns/op 14.450 ns/op 0.55
Buffer.compare 123687377 - random bytes 44.160 ns/op 96.750 ns/op 0.46
regular array get 100000 times 43.012 us/op 56.263 us/op 0.76
wrappedArray get 100000 times 42.791 us/op 55.833 us/op 0.77
arrayWithProxy get 100000 times 10.848 ms/op 18.795 ms/op 0.58
ssz.Root.equals 55.818 ns/op 64.701 ns/op 0.86
byteArrayEquals 60.929 ns/op 61.856 ns/op 0.99
Buffer.compare 9.5040 ns/op 14.291 ns/op 0.67
shuffle list - 16384 els 5.9987 ms/op 9.6242 ms/op 0.62
shuffle list - 250000 els 88.648 ms/op 145.85 ms/op 0.61
processSlot - 1 slots 10.932 us/op 21.254 us/op 0.51
processSlot - 32 slots 2.1145 ms/op 4.6833 ms/op 0.45
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 50.915 ms/op 70.326 ms/op 0.72
getCommitteeAssignments - req 1 vs - 250000 vc 2.4004 ms/op 3.0385 ms/op 0.79
getCommitteeAssignments - req 100 vs - 250000 vc 3.5734 ms/op 4.4384 ms/op 0.81
getCommitteeAssignments - req 1000 vs - 250000 vc 3.8763 ms/op 5.1216 ms/op 0.76
findModifiedValidators - 10000 modified validators 292.63 ms/op 393.55 ms/op 0.74
findModifiedValidators - 1000 modified validators 161.96 ms/op 245.09 ms/op 0.66
findModifiedValidators - 100 modified validators 159.44 ms/op 226.83 ms/op 0.70
findModifiedValidators - 10 modified validators 149.51 ms/op 217.12 ms/op 0.69
findModifiedValidators - 1 modified validators 145.27 ms/op 229.99 ms/op 0.63
findModifiedValidators - no difference 168.30 ms/op 242.64 ms/op 0.69
compare ViewDUs 4.3848 s/op 6.2932 s/op 0.70
compare each validator Uint8Array 1.3542 s/op 2.1627 s/op 0.63
compare ViewDU to Uint8Array 1.1680 s/op 1.4154 s/op 0.83
migrate state 1000000 validators, 24 modified, 0 new 751.37 ms/op 853.12 ms/op 0.88
migrate state 1000000 validators, 1700 modified, 1000 new 1.0538 s/op 1.1593 s/op 0.91
migrate state 1000000 validators, 3400 modified, 2000 new 1.1948 s/op 1.4019 s/op 0.85
migrate state 1500000 validators, 24 modified, 0 new 610.74 ms/op 917.39 ms/op 0.67
migrate state 1500000 validators, 1700 modified, 1000 new 1.0083 s/op 1.1741 s/op 0.86
migrate state 1500000 validators, 3400 modified, 2000 new 1.3905 s/op 1.6697 s/op 0.83
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.7700 ns/op 5.4000 ns/op 1.07
state getBlockRootAtSlot - 250000 vs - 7PWei 736.10 ns/op 1.0567 us/op 0.70
computeProposers - vc 250000 8.9447 ms/op 12.807 ms/op 0.70
computeEpochShuffling - vc 250000 89.706 ms/op 151.49 ms/op 0.59
getNextSyncCommittee - vc 250000 143.72 ms/op 219.90 ms/op 0.65
computeSigningRoot for AttestationData 36.987 us/op 38.280 us/op 0.97
hash AttestationData serialized data then Buffer.toString(base64) 1.3280 us/op 2.6190 us/op 0.51
toHexString serialized data 869.11 ns/op 1.3863 us/op 0.63
Buffer.toString(base64) 163.16 ns/op 275.15 ns/op 0.59

by benchmarkbot/action

@nflaig nflaig merged commit 3d30f2f into unstable Apr 15, 2024
21 checks passed
@nflaig nflaig deleted the nflaig/publish-topic-slot branch April 15, 2024 21:12
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.18.0 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants