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

fix: request retries are abortable #6466

Merged
merged 4 commits into from
Feb 22, 2024
Merged

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Feb 21, 2024

Motivation

Retries should be abortable and not rely on aborted sleep function inside retry.

Description

Request retries are abortable

@nflaig nflaig requested a review from a team as a code owner February 21, 2024 17:24
Copy link

codecov bot commented Feb 21, 2024

Codecov Report

Merging #6466 (365fbc4) into unstable (8959bda) will increase coverage by 0.00%.
The diff coverage is 64.28%.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6466   +/-   ##
=========================================
  Coverage     61.66%   61.66%           
=========================================
  Files           554      554           
  Lines         58078    58089   +11     
  Branches       1837     1839    +2     
=========================================
+ Hits          35811    35818    +7     
- Misses        22228    22232    +4     
  Partials         39       39           

Copy link
Contributor

github-actions bot commented Feb 21, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 731382a Previous: 8959bda Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 974.13 us/op 386.77 us/op 2.52
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 85.461 us/op 52.713 us/op 1.62
BLS verify - blst-native 1.1350 ms/op 1.1065 ms/op 1.03
BLS verifyMultipleSignatures 3 - blst-native 2.4905 ms/op 2.4125 ms/op 1.03
BLS verifyMultipleSignatures 8 - blst-native 5.6229 ms/op 5.2622 ms/op 1.07
BLS verifyMultipleSignatures 32 - blst-native 20.865 ms/op 19.393 ms/op 1.08
BLS verifyMultipleSignatures 64 - blst-native 40.561 ms/op 38.213 ms/op 1.06
BLS verifyMultipleSignatures 128 - blst-native 81.660 ms/op 75.454 ms/op 1.08
BLS deserializing 10000 signatures 850.03 ms/op 797.14 ms/op 1.07
BLS deserializing 100000 signatures 8.7727 s/op 8.2573 s/op 1.06
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.1448 ms/op 1.1121 ms/op 1.03
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.6294 ms/op 1.2572 ms/op 1.30
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.9793 ms/op 1.9712 ms/op 1.51
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.2169 ms/op 3.7683 ms/op 0.85
BLS verifyMultipleSignatures - same message - 128 - blst-native 7.1444 ms/op 4.8938 ms/op 1.46
BLS aggregatePubkeys 32 - blst-native 26.738 us/op 22.071 us/op 1.21
BLS aggregatePubkeys 128 - blst-native 92.830 us/op 86.402 us/op 1.07
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 53.995 ms/op 45.012 ms/op 1.20
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 55.967 ms/op 42.561 ms/op 1.31
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 28.312 ms/op 25.926 ms/op 1.09
getSlashingsAndExits - default max 311.43 us/op 223.06 us/op 1.40
getSlashingsAndExits - 2k 430.23 us/op 350.91 us/op 1.23
proposeBlockBody type=full, size=empty 4.5711 ms/op 3.7844 ms/op 1.21
isKnown best case - 1 super set check 347.00 ns/op 474.00 ns/op 0.73
isKnown normal case - 2 super set checks 338.00 ns/op 389.00 ns/op 0.87
isKnown worse case - 16 super set checks 342.00 ns/op 340.00 ns/op 1.01
CheckpointStateCache - add get delete 3.7950 us/op 3.7860 us/op 1.00
validate api signedAggregateAndProof - struct 2.5375 ms/op 2.3719 ms/op 1.07
validate gossip signedAggregateAndProof - struct 2.5714 ms/op 2.2532 ms/op 1.14
validate gossip attestation - vc 640000 1.2098 ms/op 1.1302 ms/op 1.07
batch validate gossip attestation - vc 640000 - chunk 32 151.67 us/op 138.19 us/op 1.10
batch validate gossip attestation - vc 640000 - chunk 64 135.62 us/op 128.71 us/op 1.05
batch validate gossip attestation - vc 640000 - chunk 128 116.13 us/op 124.56 us/op 0.93
batch validate gossip attestation - vc 640000 - chunk 256 110.56 us/op 114.03 us/op 0.97
pickEth1Vote - no votes 873.07 us/op 874.46 us/op 1.00
pickEth1Vote - max votes 10.590 ms/op 9.2615 ms/op 1.14
pickEth1Vote - Eth1Data hashTreeRoot value x2048 20.975 ms/op 21.090 ms/op 0.99
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 16.429 ms/op 26.025 ms/op 0.63
pickEth1Vote - Eth1Data fastSerialize value x2048 451.38 us/op 412.58 us/op 1.09
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.2377 ms/op 5.8079 ms/op 0.56
bytes32 toHexString 461.00 ns/op 458.00 ns/op 1.01
bytes32 Buffer.toString(hex) 309.00 ns/op 311.00 ns/op 0.99
bytes32 Buffer.toString(hex) from Uint8Array 433.00 ns/op 447.00 ns/op 0.97
bytes32 Buffer.toString(hex) + 0x 317.00 ns/op 309.00 ns/op 1.03
Object access 1 prop 0.19900 ns/op 0.22000 ns/op 0.90
Map access 1 prop 0.19500 ns/op 0.20700 ns/op 0.94
Object get x1000 5.5720 ns/op 4.8920 ns/op 1.14
Map get x1000 0.78100 ns/op 0.75400 ns/op 1.04
Object set x1000 26.400 ns/op 25.506 ns/op 1.04
Map set x1000 18.543 ns/op 18.433 ns/op 1.01
Return object 10000 times 0.23200 ns/op 0.22100 ns/op 1.05
Throw Error 10000 times 2.7665 us/op 2.6150 us/op 1.06
fastMsgIdFn sha256 / 200 bytes 2.0280 us/op 1.9720 us/op 1.03
fastMsgIdFn h32 xxhash / 200 bytes 354.00 ns/op 322.00 ns/op 1.10
fastMsgIdFn h64 xxhash / 200 bytes 405.00 ns/op 340.00 ns/op 1.19
fastMsgIdFn sha256 / 1000 bytes 6.2220 us/op 5.9550 us/op 1.04
fastMsgIdFn h32 xxhash / 1000 bytes 482.00 ns/op 446.00 ns/op 1.08
fastMsgIdFn h64 xxhash / 1000 bytes 476.00 ns/op 427.00 ns/op 1.11
fastMsgIdFn sha256 / 10000 bytes 52.001 us/op 50.483 us/op 1.03
fastMsgIdFn h32 xxhash / 10000 bytes 1.8630 us/op 1.7950 us/op 1.04
fastMsgIdFn h64 xxhash / 10000 bytes 1.2900 us/op 1.2490 us/op 1.03
send data - 1000 256B messages 12.216 ms/op 13.509 ms/op 0.90
send data - 1000 512B messages 16.086 ms/op 16.686 ms/op 0.96
send data - 1000 1024B messages 22.310 ms/op 31.195 ms/op 0.72
send data - 1000 1200B messages 33.303 ms/op 30.750 ms/op 1.08
send data - 1000 2048B messages 44.213 ms/op 38.646 ms/op 1.14
send data - 1000 4096B messages 43.767 ms/op 38.966 ms/op 1.12
send data - 1000 16384B messages 97.312 ms/op 92.689 ms/op 1.05
send data - 1000 65536B messages 476.02 ms/op 456.11 ms/op 1.04
enrSubnets - fastDeserialize 64 bits 1.4240 us/op 1.0360 us/op 1.37
enrSubnets - ssz BitVector 64 bits 611.00 ns/op 502.00 ns/op 1.22
enrSubnets - fastDeserialize 4 bits 303.00 ns/op 254.00 ns/op 1.19
enrSubnets - ssz BitVector 4 bits 591.00 ns/op 515.00 ns/op 1.15
prioritizePeers score -10:0 att 32-0.1 sync 2-0 83.769 us/op 103.95 us/op 0.81
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 101.03 us/op 114.04 us/op 0.89
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 156.03 us/op 146.76 us/op 1.06
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 235.32 us/op 260.80 us/op 0.90
prioritizePeers score 0:0 att 64-1 sync 4-1 248.24 us/op 277.13 us/op 0.90
array of 16000 items push then shift 1.5909 us/op 1.3783 us/op 1.15
LinkedList of 16000 items push then shift 6.6560 ns/op 8.5800 ns/op 0.78
array of 16000 items push then pop 118.04 ns/op 113.41 ns/op 1.04
LinkedList of 16000 items push then pop 10.465 ns/op 7.7260 ns/op 1.35
array of 24000 items push then shift 1.9914 us/op 1.8896 us/op 1.05
LinkedList of 24000 items push then shift 8.7480 ns/op 7.5310 ns/op 1.16
array of 24000 items push then pop 154.75 ns/op 150.20 ns/op 1.03
LinkedList of 24000 items push then pop 8.0160 ns/op 6.0850 ns/op 1.32
intersect bitArray bitLen 8 4.9200 ns/op 4.9080 ns/op 1.00
intersect array and set length 8 88.260 ns/op 50.458 ns/op 1.75
intersect bitArray bitLen 128 31.397 ns/op 29.444 ns/op 1.07
intersect array and set length 128 994.23 ns/op 696.32 ns/op 1.43
bitArray.getTrueBitIndexes() bitLen 128 1.8920 us/op 1.3890 us/op 1.36
bitArray.getTrueBitIndexes() bitLen 248 3.0230 us/op 2.9850 us/op 1.01
bitArray.getTrueBitIndexes() bitLen 512 5.5590 us/op 6.3790 us/op 0.87
Buffer.concat 32 items 983.00 ns/op 1.0400 us/op 0.95
Uint8Array.set 32 items 2.0710 us/op 2.3270 us/op 0.89
Set add up to 64 items then delete first 2.6064 us/op 2.4738 us/op 1.05
OrderedSet add up to 64 items then delete first 4.5085 us/op 3.8685 us/op 1.17
Set add up to 64 items then delete last 2.6668 us/op 2.7309 us/op 0.98
OrderedSet add up to 64 items then delete last 4.1266 us/op 3.7934 us/op 1.09
Set add up to 64 items then delete middle 3.1023 us/op 2.3774 us/op 1.30
OrderedSet add up to 64 items then delete middle 5.8704 us/op 5.2910 us/op 1.11
Set add up to 128 items then delete first 7.2367 us/op 5.0557 us/op 1.43
OrderedSet add up to 128 items then delete first 8.9579 us/op 8.5599 us/op 1.05
Set add up to 128 items then delete last 5.1944 us/op 5.4318 us/op 0.96
OrderedSet add up to 128 items then delete last 8.3408 us/op 8.5114 us/op 0.98
Set add up to 128 items then delete middle 6.3391 us/op 5.1232 us/op 1.24
OrderedSet add up to 128 items then delete middle 14.984 us/op 13.268 us/op 1.13
Set add up to 256 items then delete first 13.302 us/op 11.025 us/op 1.21
OrderedSet add up to 256 items then delete first 18.716 us/op 16.499 us/op 1.13
Set add up to 256 items then delete last 10.725 us/op 10.382 us/op 1.03
OrderedSet add up to 256 items then delete last 16.324 us/op 15.686 us/op 1.04
Set add up to 256 items then delete middle 10.962 us/op 10.915 us/op 1.00
OrderedSet add up to 256 items then delete middle 38.500 us/op 36.435 us/op 1.06
transfer serialized Status (84 B) 1.9500 us/op 1.5920 us/op 1.22
copy serialized Status (84 B) 1.3770 us/op 1.3100 us/op 1.05
transfer serialized SignedVoluntaryExit (112 B) 1.7290 us/op 1.7400 us/op 0.99
copy serialized SignedVoluntaryExit (112 B) 1.3390 us/op 1.3480 us/op 0.99
transfer serialized ProposerSlashing (416 B) 2.0110 us/op 2.3590 us/op 0.85
copy serialized ProposerSlashing (416 B) 2.1280 us/op 2.4810 us/op 0.86
transfer serialized Attestation (485 B) 2.0560 us/op 2.7570 us/op 0.75
copy serialized Attestation (485 B) 1.8670 us/op 2.6620 us/op 0.70
transfer serialized AttesterSlashing (33232 B) 1.7190 us/op 2.8950 us/op 0.59
copy serialized AttesterSlashing (33232 B) 4.4140 us/op 10.299 us/op 0.43
transfer serialized Small SignedBeaconBlock (128000 B) 2.0760 us/op 2.8030 us/op 0.74
copy serialized Small SignedBeaconBlock (128000 B) 10.960 us/op 11.933 us/op 0.92
transfer serialized Avg SignedBeaconBlock (200000 B) 2.3480 us/op 2.4200 us/op 0.97
copy serialized Avg SignedBeaconBlock (200000 B) 18.864 us/op 56.162 us/op 0.34
transfer serialized BlobsSidecar (524380 B) 3.3300 us/op 2.6150 us/op 1.27
copy serialized BlobsSidecar (524380 B) 201.99 us/op 75.719 us/op 2.67
transfer serialized Big SignedBeaconBlock (1000000 B) 3.5850 us/op 2.6830 us/op 1.34
copy serialized Big SignedBeaconBlock (1000000 B) 151.84 us/op 292.08 us/op 0.52
pass gossip attestations to forkchoice per slot 3.0402 ms/op 2.9304 ms/op 1.04
forkChoice updateHead vc 100000 bc 64 eq 0 462.23 us/op 492.15 us/op 0.94
forkChoice updateHead vc 600000 bc 64 eq 0 3.6836 ms/op 3.2767 ms/op 1.12
forkChoice updateHead vc 1000000 bc 64 eq 0 5.0545 ms/op 6.3741 ms/op 0.79
forkChoice updateHead vc 600000 bc 320 eq 0 2.8951 ms/op 2.6594 ms/op 1.09
forkChoice updateHead vc 600000 bc 1200 eq 0 4.0461 ms/op 2.8068 ms/op 1.44
forkChoice updateHead vc 600000 bc 7200 eq 0 4.0655 ms/op 3.5648 ms/op 1.14
forkChoice updateHead vc 600000 bc 64 eq 1000 10.549 ms/op 9.8837 ms/op 1.07
forkChoice updateHead vc 600000 bc 64 eq 10000 10.442 ms/op 9.6663 ms/op 1.08
forkChoice updateHead vc 600000 bc 64 eq 300000 13.152 ms/op 12.158 ms/op 1.08
computeDeltas 500000 validators 300 proto nodes 3.4140 ms/op 3.3531 ms/op 1.02
computeDeltas 500000 validators 1200 proto nodes 3.0368 ms/op 3.3802 ms/op 0.90
computeDeltas 500000 validators 7200 proto nodes 3.0363 ms/op 3.2492 ms/op 0.93
computeDeltas 750000 validators 300 proto nodes 5.2206 ms/op 5.4233 ms/op 0.96
computeDeltas 750000 validators 1200 proto nodes 4.9215 ms/op 5.1672 ms/op 0.95
computeDeltas 750000 validators 7200 proto nodes 5.0312 ms/op 5.5880 ms/op 0.90
computeDeltas 1400000 validators 300 proto nodes 8.9645 ms/op 10.850 ms/op 0.83
computeDeltas 1400000 validators 1200 proto nodes 9.0116 ms/op 10.587 ms/op 0.85
computeDeltas 1400000 validators 7200 proto nodes 9.0327 ms/op 9.3930 ms/op 0.96
computeDeltas 2100000 validators 300 proto nodes 13.818 ms/op 15.580 ms/op 0.89
computeDeltas 2100000 validators 1200 proto nodes 13.761 ms/op 16.707 ms/op 0.82
computeDeltas 2100000 validators 7200 proto nodes 14.307 ms/op 14.448 ms/op 0.99
altair processAttestation - 250000 vs - 7PWei normalcase 2.6250 ms/op 1.5358 ms/op 1.71
altair processAttestation - 250000 vs - 7PWei worstcase 2.9389 ms/op 2.6276 ms/op 1.12
altair processAttestation - setStatus - 1/6 committees join 82.771 us/op 75.732 us/op 1.09
altair processAttestation - setStatus - 1/3 committees join 170.17 us/op 158.53 us/op 1.07
altair processAttestation - setStatus - 1/2 committees join 238.77 us/op 214.24 us/op 1.11
altair processAttestation - setStatus - 2/3 committees join 283.95 us/op 284.28 us/op 1.00
altair processAttestation - setStatus - 4/5 committees join 414.91 us/op 446.22 us/op 0.93
altair processAttestation - setStatus - 100% committees join 472.52 us/op 555.52 us/op 0.85
altair processBlock - 250000 vs - 7PWei normalcase 8.7652 ms/op 8.8400 ms/op 0.99
altair processBlock - 250000 vs - 7PWei normalcase hashState 29.018 ms/op 23.593 ms/op 1.23
altair processBlock - 250000 vs - 7PWei worstcase 33.922 ms/op 28.896 ms/op 1.17
altair processBlock - 250000 vs - 7PWei worstcase hashState 86.232 ms/op 73.332 ms/op 1.18
phase0 processBlock - 250000 vs - 7PWei normalcase 2.4234 ms/op 2.5752 ms/op 0.94
phase0 processBlock - 250000 vs - 7PWei worstcase 28.067 ms/op 24.642 ms/op 1.14
altair processEth1Data - 250000 vs - 7PWei normalcase 405.15 us/op 304.15 us/op 1.33
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 17.562 us/op 14.982 us/op 1.17
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 50.138 us/op 57.881 us/op 0.87
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 11.242 us/op 21.257 us/op 0.53
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 15.044 us/op 8.3040 us/op 1.81
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 148.69 us/op 155.26 us/op 0.96
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.1394 ms/op 1.0416 ms/op 1.09
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.3480 ms/op 1.4487 ms/op 0.93
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.5019 ms/op 1.0319 ms/op 1.46
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.4198 ms/op 3.0478 ms/op 1.12
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.0649 ms/op 1.5104 ms/op 1.37
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.2356 ms/op 5.4104 ms/op 0.97
Tree 40 250000 create 345.68 ms/op 348.45 ms/op 0.99
Tree 40 250000 get(125000) 120.19 ns/op 122.11 ns/op 0.98
Tree 40 250000 set(125000) 744.03 ns/op 841.70 ns/op 0.88
Tree 40 250000 toArray() 11.388 ms/op 25.457 ms/op 0.45
Tree 40 250000 iterate all - toArray() + loop 12.487 ms/op 26.073 ms/op 0.48
Tree 40 250000 iterate all - get(i) 41.710 ms/op 54.605 ms/op 0.76
MutableVector 250000 create 13.693 ms/op 12.246 ms/op 1.12
MutableVector 250000 get(125000) 5.6400 ns/op 5.7150 ns/op 0.99
MutableVector 250000 set(125000) 220.72 ns/op 221.35 ns/op 1.00
MutableVector 250000 toArray() 2.7399 ms/op 2.4479 ms/op 1.12
MutableVector 250000 iterate all - toArray() + loop 2.4633 ms/op 2.4492 ms/op 1.01
MutableVector 250000 iterate all - get(i) 1.3902 ms/op 1.3476 ms/op 1.03
Array 250000 create 2.4025 ms/op 2.3086 ms/op 1.04
Array 250000 clone - spread 1.1937 ms/op 1.1861 ms/op 1.01
Array 250000 get(125000) 1.0640 ns/op 1.0660 ns/op 1.00
Array 250000 set(125000) 1.2890 ns/op 2.0970 ns/op 0.61
Array 250000 iterate all - loop 158.06 us/op 155.19 us/op 1.02
effectiveBalanceIncrements clone Uint8Array 300000 15.020 us/op 53.953 us/op 0.28
effectiveBalanceIncrements clone MutableVector 300000 431.00 ns/op 906.00 ns/op 0.48
effectiveBalanceIncrements rw all Uint8Array 300000 185.04 us/op 184.71 us/op 1.00
effectiveBalanceIncrements rw all MutableVector 300000 69.660 ms/op 113.57 ms/op 0.61
phase0 afterProcessEpoch - 250000 vs - 7PWei 76.631 ms/op 78.605 ms/op 0.97
phase0 beforeProcessEpoch - 250000 vs - 7PWei 46.975 ms/op 35.742 ms/op 1.31
altair processEpoch - mainnet_e81889 461.29 ms/op 472.21 ms/op 0.98
mainnet_e81889 - altair beforeProcessEpoch 71.284 ms/op 84.059 ms/op 0.85
mainnet_e81889 - altair processJustificationAndFinalization 12.645 us/op 14.334 us/op 0.88
mainnet_e81889 - altair processInactivityUpdates 5.7626 ms/op 3.8011 ms/op 1.52
mainnet_e81889 - altair processRewardsAndPenalties 56.609 ms/op 54.907 ms/op 1.03
mainnet_e81889 - altair processRegistryUpdates 2.7760 us/op 2.1410 us/op 1.30
mainnet_e81889 - altair processSlashings 786.00 ns/op 641.00 ns/op 1.23
mainnet_e81889 - altair processEth1DataReset 805.00 ns/op 720.00 ns/op 1.12
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.6908 ms/op 1.0622 ms/op 1.59
mainnet_e81889 - altair processSlashingsReset 4.6960 us/op 2.8640 us/op 1.64
mainnet_e81889 - altair processRandaoMixesReset 7.9560 us/op 4.4560 us/op 1.79
mainnet_e81889 - altair processHistoricalRootsUpdate 982.00 ns/op 1.0610 us/op 0.93
mainnet_e81889 - altair processParticipationFlagUpdates 3.4490 us/op 2.0930 us/op 1.65
mainnet_e81889 - altair processSyncCommitteeUpdates 1.0130 us/op 800.00 ns/op 1.27
mainnet_e81889 - altair afterProcessEpoch 81.137 ms/op 80.468 ms/op 1.01
capella processEpoch - mainnet_e217614 2.1472 s/op 2.2908 s/op 0.94
mainnet_e217614 - capella beforeProcessEpoch 648.12 ms/op 493.64 ms/op 1.31
mainnet_e217614 - capella processJustificationAndFinalization 24.786 us/op 11.707 us/op 2.12
mainnet_e217614 - capella processInactivityUpdates 20.607 ms/op 16.809 ms/op 1.23
mainnet_e217614 - capella processRewardsAndPenalties 457.81 ms/op 408.24 ms/op 1.12
mainnet_e217614 - capella processRegistryUpdates 38.838 us/op 26.900 us/op 1.44
mainnet_e217614 - capella processSlashings 1.1710 us/op 834.00 ns/op 1.40
mainnet_e217614 - capella processEth1DataReset 805.00 ns/op 607.00 ns/op 1.33
mainnet_e217614 - capella processEffectiveBalanceUpdates 5.3842 ms/op 3.5460 ms/op 1.52
mainnet_e217614 - capella processSlashingsReset 6.0250 us/op 4.0820 us/op 1.48
mainnet_e217614 - capella processRandaoMixesReset 7.8530 us/op 6.3540 us/op 1.24
mainnet_e217614 - capella processHistoricalRootsUpdate 1.0600 us/op 740.00 ns/op 1.43
mainnet_e217614 - capella processParticipationFlagUpdates 2.5130 us/op 3.4750 us/op 0.72
mainnet_e217614 - capella afterProcessEpoch 246.17 ms/op 249.28 ms/op 0.99
phase0 processEpoch - mainnet_e58758 376.50 ms/op 481.82 ms/op 0.78
mainnet_e58758 - phase0 beforeProcessEpoch 120.72 ms/op 155.49 ms/op 0.78
mainnet_e58758 - phase0 processJustificationAndFinalization 14.035 us/op 17.263 us/op 0.81
mainnet_e58758 - phase0 processRewardsAndPenalties 47.553 ms/op 48.699 ms/op 0.98
mainnet_e58758 - phase0 processRegistryUpdates 6.5170 us/op 10.676 us/op 0.61
mainnet_e58758 - phase0 processSlashings 663.00 ns/op 650.00 ns/op 1.02
mainnet_e58758 - phase0 processEth1DataReset 519.00 ns/op 918.00 ns/op 0.57
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 858.84 us/op 1.2024 ms/op 0.71
mainnet_e58758 - phase0 processSlashingsReset 2.2090 us/op 3.3100 us/op 0.67
mainnet_e58758 - phase0 processRandaoMixesReset 2.8470 us/op 4.5170 us/op 0.63
mainnet_e58758 - phase0 processHistoricalRootsUpdate 527.00 ns/op 808.00 ns/op 0.65
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.6530 us/op 5.0270 us/op 0.73
mainnet_e58758 - phase0 afterProcessEpoch 61.031 ms/op 69.275 ms/op 0.88
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.6429 ms/op 1.1321 ms/op 1.45
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.1141 ms/op 1.1581 ms/op 0.96
altair processInactivityUpdates - 250000 normalcase 25.152 ms/op 24.925 ms/op 1.01
altair processInactivityUpdates - 250000 worstcase 23.091 ms/op 25.949 ms/op 0.89
phase0 processRegistryUpdates - 250000 normalcase 7.9120 us/op 11.290 us/op 0.70
phase0 processRegistryUpdates - 250000 badcase_full_deposits 444.24 us/op 454.13 us/op 0.98
phase0 processRegistryUpdates - 250000 worstcase 0.5 130.30 ms/op 112.40 ms/op 1.16
altair processRewardsAndPenalties - 250000 normalcase 59.053 ms/op 45.606 ms/op 1.29
altair processRewardsAndPenalties - 250000 worstcase 51.597 ms/op 55.275 ms/op 0.93
phase0 getAttestationDeltas - 250000 normalcase 6.4752 ms/op 6.6142 ms/op 0.98
phase0 getAttestationDeltas - 250000 worstcase 10.186 ms/op 7.1375 ms/op 1.43
phase0 processSlashings - 250000 worstcase 82.901 us/op 90.993 us/op 0.91
altair processSyncCommitteeUpdates - 250000 127.47 ms/op 114.25 ms/op 1.12
BeaconState.hashTreeRoot - No change 841.00 ns/op 400.00 ns/op 2.10
BeaconState.hashTreeRoot - 1 full validator 134.20 us/op 99.395 us/op 1.35
BeaconState.hashTreeRoot - 32 full validator 1.1329 ms/op 1.2990 ms/op 0.87
BeaconState.hashTreeRoot - 512 full validator 11.306 ms/op 11.733 ms/op 0.96
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 119.05 us/op 115.72 us/op 1.03
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.7973 ms/op 1.5978 ms/op 1.12
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 24.058 ms/op 29.077 ms/op 0.83
BeaconState.hashTreeRoot - 1 balances 118.33 us/op 105.56 us/op 1.12
BeaconState.hashTreeRoot - 32 balances 808.60 us/op 1.0607 ms/op 0.76
BeaconState.hashTreeRoot - 512 balances 8.2988 ms/op 10.568 ms/op 0.79
BeaconState.hashTreeRoot - 250000 balances 220.96 ms/op 198.88 ms/op 1.11
aggregationBits - 2048 els - zipIndexesInBitList 12.146 us/op 10.883 us/op 1.12
byteArrayEquals 32 65.631 ns/op 65.235 ns/op 1.01
Buffer.compare 32 40.346 ns/op 38.035 ns/op 1.06
byteArrayEquals 1024 1.8194 us/op 1.7410 us/op 1.05
Buffer.compare 1024 48.112 ns/op 44.052 ns/op 1.09
byteArrayEquals 16384 27.169 us/op 27.811 us/op 0.98
Buffer.compare 16384 252.20 ns/op 227.19 ns/op 1.11
byteArrayEquals 123687377 211.89 ms/op 207.50 ms/op 1.02
Buffer.compare 123687377 5.4803 ms/op 3.8142 ms/op 1.44
byteArrayEquals 32 - diff last byte 66.874 ns/op 61.457 ns/op 1.09
Buffer.compare 32 - diff last byte 36.971 ns/op 37.816 ns/op 0.98
byteArrayEquals 1024 - diff last byte 1.6537 us/op 1.7162 us/op 0.96
Buffer.compare 1024 - diff last byte 42.455 ns/op 45.785 ns/op 0.93
byteArrayEquals 16384 - diff last byte 26.103 us/op 27.584 us/op 0.95
Buffer.compare 16384 - diff last byte 214.05 ns/op 207.27 ns/op 1.03
byteArrayEquals 123687377 - diff last byte 212.30 ms/op 204.99 ms/op 1.04
Buffer.compare 123687377 - diff last byte 6.0625 ms/op 5.9454 ms/op 1.02
byteArrayEquals 32 - random bytes 4.5810 ns/op 4.7510 ns/op 0.96
Buffer.compare 32 - random bytes 37.754 ns/op 43.743 ns/op 0.86
byteArrayEquals 1024 - random bytes 4.4410 ns/op 4.7270 ns/op 0.94
Buffer.compare 1024 - random bytes 35.410 ns/op 38.155 ns/op 0.93
byteArrayEquals 16384 - random bytes 4.4150 ns/op 4.9570 ns/op 0.89
Buffer.compare 16384 - random bytes 35.892 ns/op 40.818 ns/op 0.88
byteArrayEquals 123687377 - random bytes 8.1900 ns/op 8.4600 ns/op 0.97
Buffer.compare 123687377 - random bytes 43.100 ns/op 41.250 ns/op 1.04
regular array get 100000 times 41.362 us/op 42.245 us/op 0.98
wrappedArray get 100000 times 40.769 us/op 42.612 us/op 0.96
arrayWithProxy get 100000 times 9.6198 ms/op 10.620 ms/op 0.91
ssz.Root.equals 54.295 ns/op 58.258 ns/op 0.93
byteArrayEquals 53.795 ns/op 55.227 ns/op 0.97
Buffer.compare 9.6610 ns/op 9.6700 ns/op 1.00
shuffle list - 16384 els 4.7222 ms/op 4.7282 ms/op 1.00
shuffle list - 250000 els 68.533 ms/op 69.112 ms/op 0.99
processSlot - 1 slots 17.467 us/op 17.592 us/op 0.99
processSlot - 32 slots 2.5528 ms/op 3.6608 ms/op 0.70
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 47.367 ms/op 53.320 ms/op 0.89
getCommitteeAssignments - req 1 vs - 250000 vc 2.2186 ms/op 2.2331 ms/op 0.99
getCommitteeAssignments - req 100 vs - 250000 vc 3.3435 ms/op 3.3350 ms/op 1.00
getCommitteeAssignments - req 1000 vs - 250000 vc 3.6566 ms/op 3.6079 ms/op 1.01
findModifiedValidators - 10000 modified validators 457.95 ms/op 400.04 ms/op 1.14
findModifiedValidators - 1000 modified validators 370.20 ms/op 319.39 ms/op 1.16
findModifiedValidators - 100 modified validators 323.50 ms/op 330.01 ms/op 0.98
findModifiedValidators - 10 modified validators 331.58 ms/op 296.11 ms/op 1.12
findModifiedValidators - 1 modified validators 327.47 ms/op 302.66 ms/op 1.08
findModifiedValidators - no difference 331.25 ms/op 312.43 ms/op 1.06
compare ViewDUs 3.9100 s/op 4.2675 s/op 0.92
compare each validator Uint8Array 1.9480 s/op 1.8654 s/op 1.04
compare ViewDU to Uint8Array 944.27 ms/op 1.3267 s/op 0.71
migrate state 1000000 validators, 24 modified, 0 new 662.49 ms/op 716.96 ms/op 0.92
migrate state 1000000 validators, 1700 modified, 1000 new 1.0200 s/op 1.0339 s/op 0.99
migrate state 1000000 validators, 3400 modified, 2000 new 1.1717 s/op 1.3037 s/op 0.90
migrate state 1500000 validators, 24 modified, 0 new 773.38 ms/op 715.79 ms/op 1.08
migrate state 1500000 validators, 1700 modified, 1000 new 1.0278 s/op 1.0640 s/op 0.97
migrate state 1500000 validators, 3400 modified, 2000 new 1.1544 s/op 1.3849 s/op 0.83
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.1200 ns/op 5.5800 ns/op 0.92
state getBlockRootAtSlot - 250000 vs - 7PWei 402.23 ns/op 952.58 ns/op 0.42
computeProposers - vc 250000 7.1309 ms/op 7.2513 ms/op 0.98
computeEpochShuffling - vc 250000 72.655 ms/op 71.061 ms/op 1.02
getNextSyncCommittee - vc 250000 122.36 ms/op 133.71 ms/op 0.92
computeSigningRoot for AttestationData 24.422 us/op 27.532 us/op 0.89
hash AttestationData serialized data then Buffer.toString(base64) 1.6953 us/op 1.3210 us/op 1.28
toHexString serialized data 812.12 ns/op 868.66 ns/op 0.93
Buffer.toString(base64) 178.71 ns/op 213.98 ns/op 0.84

by benchmarkbot/action

@wemeetagain wemeetagain merged commit 202c1d7 into unstable Feb 22, 2024
18 of 20 checks passed
@wemeetagain wemeetagain deleted the nflaig/abortable-retries branch February 22, 2024 22:01
@wemeetagain
Copy link
Member

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