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: schedule deneb fork on testnets #6223

Merged
merged 1 commit into from
Jan 19, 2024
Merged

feat: schedule deneb fork on testnets #6223

merged 1 commit into from
Jan 19, 2024

Conversation

g11tech
Copy link
Contributor

@g11tech g11tech commented Dec 21, 2023

UPDATE: it has been decided to first check the rollout of deneb on goerli PR (#6254) via a goerli focused release and if things go good then the schedule will be applied on a new release

deneb has been tentatively schedule for testnets (post mid jan 2024)

see:

see :

@g11tech g11tech requested a review from a team as a code owner December 21, 2023 15:48
Copy link

codecov bot commented Dec 21, 2023

Codecov Report

Merging #6223 (c1f4cce) into unstable (2db7120) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6223   +/-   ##
=========================================
  Coverage     76.61%   76.61%           
=========================================
  Files           248      248           
  Lines         25898    25898           
  Branches       1448     1448           
=========================================
  Hits          19842    19842           
  Misses         6026     6026           
  Partials         30       30           

Copy link
Contributor

github-actions bot commented Dec 21, 2023

⚠️ 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: 0e96ed4 Previous: ea4cdad Ratio
forkChoice updateHead vc 600000 bc 1200 eq 0 8.3878 ms/op 2.7404 ms/op 3.06
forkChoice updateHead vc 600000 bc 64 eq 300000 76.310 ms/op 12.354 ms/op 6.18
computeDeltas 500000 validators 300 proto nodes 10.421 ms/op 3.1688 ms/op 3.29
computeDeltas 500000 validators 1200 proto nodes 9.8202 ms/op 2.9780 ms/op 3.30
computeDeltas 500000 validators 7200 proto nodes 8.6103 ms/op 2.8549 ms/op 3.02
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 20.918 us/op 3.7150 us/op 5.63
Full benchmark results
Benchmark suite Current: 0e96ed4 Previous: ea4cdad Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 996.96 us/op 845.57 us/op 1.18
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 105.07 us/op 87.344 us/op 1.20
BLS verify - blst-native 1.3292 ms/op 1.0954 ms/op 1.21
BLS verifyMultipleSignatures 3 - blst-native 2.8702 ms/op 2.3661 ms/op 1.21
BLS verifyMultipleSignatures 8 - blst-native 6.2898 ms/op 5.3253 ms/op 1.18
BLS verifyMultipleSignatures 32 - blst-native 23.036 ms/op 19.553 ms/op 1.18
BLS verifyMultipleSignatures 64 - blst-native 45.335 ms/op 38.858 ms/op 1.17
BLS verifyMultipleSignatures 128 - blst-native 89.893 ms/op 77.730 ms/op 1.16
BLS deserializing 10000 signatures 935.98 ms/op 823.35 ms/op 1.14
BLS deserializing 100000 signatures 9.5965 s/op 8.2558 s/op 1.16
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3576 ms/op 1.1401 ms/op 1.19
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.6960 ms/op 1.2852 ms/op 1.32
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.9573 ms/op 2.4333 ms/op 1.22
BLS verifyMultipleSignatures - same message - 64 - blst-native 4.1485 ms/op 3.4817 ms/op 1.19
BLS verifyMultipleSignatures - same message - 128 - blst-native 7.4737 ms/op 4.9668 ms/op 1.50
BLS aggregatePubkeys 32 - blst-native 28.131 us/op 22.542 us/op 1.25
BLS aggregatePubkeys 128 - blst-native 103.48 us/op 88.558 us/op 1.17
getAttestationsForBlock 53.200 ms/op 41.188 ms/op 1.29
getSlashingsAndExits - default max 189.95 us/op 115.65 us/op 1.64
getSlashingsAndExits - 2k 392.67 us/op 306.12 us/op 1.28
proposeBlockBody type=full, size=empty 5.1892 ms/op 4.0500 ms/op 1.28
isKnown best case - 1 super set check 360.00 ns/op 565.00 ns/op 0.64
isKnown normal case - 2 super set checks 352.00 ns/op 555.00 ns/op 0.63
isKnown worse case - 16 super set checks 321.00 ns/op 567.00 ns/op 0.57
CheckpointStateCache - add get delete 5.6620 us/op 5.0350 us/op 1.12
validate api signedAggregateAndProof - struct 3.0048 ms/op 2.4247 ms/op 1.24
validate gossip signedAggregateAndProof - struct 2.8420 ms/op 2.4078 ms/op 1.18
validate gossip attestation - vc 640000 1.3935 ms/op 1.1828 ms/op 1.18
batch validate gossip attestation - vc 640000 - chunk 32 181.05 us/op 146.58 us/op 1.24
batch validate gossip attestation - vc 640000 - chunk 64 167.89 us/op 130.63 us/op 1.29
batch validate gossip attestation - vc 640000 - chunk 128 162.13 us/op 123.12 us/op 1.32
batch validate gossip attestation - vc 640000 - chunk 256 169.93 us/op 128.08 us/op 1.33
pickEth1Vote - no votes 1.3792 ms/op 1.0244 ms/op 1.35
pickEth1Vote - max votes 13.173 ms/op 10.187 ms/op 1.29
pickEth1Vote - Eth1Data hashTreeRoot value x2048 24.803 ms/op 15.745 ms/op 1.58
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 39.340 ms/op 28.655 ms/op 1.37
pickEth1Vote - Eth1Data fastSerialize value x2048 870.88 us/op 414.26 us/op 2.10
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.8976 ms/op 8.6475 ms/op 0.68
bytes32 toHexString 850.00 ns/op 354.00 ns/op 2.40
bytes32 Buffer.toString(hex) 342.00 ns/op 205.00 ns/op 1.67
bytes32 Buffer.toString(hex) from Uint8Array 576.00 ns/op 309.00 ns/op 1.86
bytes32 Buffer.toString(hex) + 0x 310.00 ns/op 194.00 ns/op 1.60
Object access 1 prop 0.21300 ns/op 0.11100 ns/op 1.92
Map access 1 prop 0.16500 ns/op 0.10100 ns/op 1.63
Object get x1000 8.1560 ns/op 5.2210 ns/op 1.56
Map get x1000 0.90800 ns/op 0.79200 ns/op 1.15
Object set x1000 66.395 ns/op 27.319 ns/op 2.43
Map set x1000 51.979 ns/op 17.558 ns/op 2.96
Return object 10000 times 0.25700 ns/op 0.23070 ns/op 1.11
Throw Error 10000 times 4.1935 us/op 2.8890 us/op 1.45
fastMsgIdFn sha256 / 200 bytes 3.5110 us/op 2.0080 us/op 1.75
fastMsgIdFn h32 xxhash / 200 bytes 357.00 ns/op 254.00 ns/op 1.41
fastMsgIdFn h64 xxhash / 200 bytes 408.00 ns/op 293.00 ns/op 1.39
fastMsgIdFn sha256 / 1000 bytes 12.182 us/op 6.3210 us/op 1.93
fastMsgIdFn h32 xxhash / 1000 bytes 507.00 ns/op 393.00 ns/op 1.29
fastMsgIdFn h64 xxhash / 1000 bytes 472.00 ns/op 369.00 ns/op 1.28
fastMsgIdFn sha256 / 10000 bytes 107.96 us/op 53.754 us/op 2.01
fastMsgIdFn h32 xxhash / 10000 bytes 2.0720 us/op 1.9000 us/op 1.09
fastMsgIdFn h64 xxhash / 10000 bytes 1.4310 us/op 1.1830 us/op 1.21
send data - 1000 256B messages 22.081 ms/op 14.367 ms/op 1.54
send data - 1000 512B messages 25.916 ms/op 21.262 ms/op 1.22
send data - 1000 1024B messages 45.426 ms/op 32.568 ms/op 1.39
send data - 1000 1200B messages 45.979 ms/op 37.930 ms/op 1.21
send data - 1000 2048B messages 40.837 ms/op 47.571 ms/op 0.86
send data - 1000 4096B messages 47.745 ms/op 41.817 ms/op 1.14
send data - 1000 16384B messages 122.19 ms/op 113.31 ms/op 1.08
send data - 1000 65536B messages 660.19 ms/op 455.28 ms/op 1.45
enrSubnets - fastDeserialize 64 bits 2.5680 us/op 1.0220 us/op 2.51
enrSubnets - ssz BitVector 64 bits 970.00 ns/op 421.00 ns/op 2.30
enrSubnets - fastDeserialize 4 bits 400.00 ns/op 139.00 ns/op 2.88
enrSubnets - ssz BitVector 4 bits 1.0800 us/op 401.00 ns/op 2.69
prioritizePeers score -10:0 att 32-0.1 sync 2-0 205.15 us/op 84.064 us/op 2.44
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 268.05 us/op 111.74 us/op 2.40
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 375.76 us/op 166.17 us/op 2.26
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 592.52 us/op 275.67 us/op 2.15
prioritizePeers score 0:0 att 64-1 sync 4-1 620.99 us/op 315.43 us/op 1.97
array of 16000 items push then shift 2.8285 us/op 1.3896 us/op 2.04
LinkedList of 16000 items push then shift 15.166 ns/op 6.5940 ns/op 2.30
array of 16000 items push then pop 166.57 ns/op 114.88 ns/op 1.45
LinkedList of 16000 items push then pop 18.223 ns/op 6.6000 ns/op 2.76
array of 24000 items push then shift 4.0868 us/op 2.0031 us/op 2.04
LinkedList of 24000 items push then shift 14.005 ns/op 10.272 ns/op 1.36
array of 24000 items push then pop 227.80 ns/op 173.35 ns/op 1.31
LinkedList of 24000 items push then pop 14.032 ns/op 5.8660 ns/op 2.39
intersect bitArray bitLen 8 12.315 ns/op 5.4150 ns/op 2.27
intersect array and set length 8 162.16 ns/op 49.712 ns/op 3.26
intersect bitArray bitLen 128 79.156 ns/op 28.448 ns/op 2.78
intersect array and set length 128 1.9776 us/op 736.36 ns/op 2.69
bitArray.getTrueBitIndexes() bitLen 128 2.7880 us/op 1.5870 us/op 1.76
bitArray.getTrueBitIndexes() bitLen 248 4.9860 us/op 2.9940 us/op 1.67
bitArray.getTrueBitIndexes() bitLen 512 10.053 us/op 6.2920 us/op 1.60
Buffer.concat 32 items 2.0210 us/op 890.00 ns/op 2.27
Uint8Array.set 32 items 3.3270 us/op 1.6780 us/op 1.98
Set add up to 64 items then delete first 6.5731 us/op 2.5204 us/op 2.61
OrderedSet add up to 64 items then delete first 9.2333 us/op 3.9496 us/op 2.34
Set add up to 64 items then delete last 7.0247 us/op 2.7205 us/op 2.58
OrderedSet add up to 64 items then delete last 9.4229 us/op 4.3201 us/op 2.18
Set add up to 64 items then delete middle 6.8391 us/op 2.7549 us/op 2.48
OrderedSet add up to 64 items then delete middle 10.446 us/op 5.5489 us/op 1.88
Set add up to 128 items then delete first 14.679 us/op 5.2815 us/op 2.78
OrderedSet add up to 128 items then delete first 17.674 us/op 8.2628 us/op 2.14
Set add up to 128 items then delete last 11.777 us/op 4.9656 us/op 2.37
OrderedSet add up to 128 items then delete last 16.292 us/op 7.7623 us/op 2.10
Set add up to 128 items then delete middle 11.696 us/op 5.3568 us/op 2.18
OrderedSet add up to 128 items then delete middle 27.318 us/op 13.365 us/op 2.04
Set add up to 256 items then delete first 28.019 us/op 10.707 us/op 2.62
OrderedSet add up to 256 items then delete first 43.281 us/op 17.081 us/op 2.53
Set add up to 256 items then delete last 27.435 us/op 10.522 us/op 2.61
OrderedSet add up to 256 items then delete last 38.754 us/op 14.705 us/op 2.64
Set add up to 256 items then delete middle 28.769 us/op 10.037 us/op 2.87
OrderedSet add up to 256 items then delete middle 89.841 us/op 35.919 us/op 2.50
transfer serialized Status (84 B) 3.6090 us/op 1.5110 us/op 2.39
copy serialized Status (84 B) 2.6590 us/op 1.1660 us/op 2.28
transfer serialized SignedVoluntaryExit (112 B) 3.6440 us/op 1.5590 us/op 2.34
copy serialized SignedVoluntaryExit (112 B) 2.8310 us/op 1.2090 us/op 2.34
transfer serialized ProposerSlashing (416 B) 3.9610 us/op 1.8990 us/op 2.09
copy serialized ProposerSlashing (416 B) 3.4590 us/op 1.8410 us/op 1.88
transfer serialized Attestation (485 B) 3.9510 us/op 1.9940 us/op 1.98
copy serialized Attestation (485 B) 4.2720 us/op 1.9010 us/op 2.25
transfer serialized AttesterSlashing (33232 B) 5.1950 us/op 1.5240 us/op 3.41
copy serialized AttesterSlashing (33232 B) 14.019 us/op 7.9340 us/op 1.77
transfer serialized Small SignedBeaconBlock (128000 B) 5.8940 us/op 1.8260 us/op 3.23
copy serialized Small SignedBeaconBlock (128000 B) 37.992 us/op 25.747 us/op 1.48
transfer serialized Avg SignedBeaconBlock (200000 B) 4.8110 us/op 1.9480 us/op 2.47
copy serialized Avg SignedBeaconBlock (200000 B) 53.500 us/op 42.152 us/op 1.27
transfer serialized BlobsSidecar (524380 B) 7.4400 us/op 2.3390 us/op 3.18
copy serialized BlobsSidecar (524380 B) 177.91 us/op 183.13 us/op 0.97
transfer serialized Big SignedBeaconBlock (1000000 B) 9.1230 us/op 3.0720 us/op 2.97
copy serialized Big SignedBeaconBlock (1000000 B) 316.32 us/op 278.15 us/op 1.14
pass gossip attestations to forkchoice per slot 4.8551 ms/op 2.8200 ms/op 1.72
forkChoice updateHead vc 100000 bc 64 eq 0 1.2682 ms/op 465.73 us/op 2.72
forkChoice updateHead vc 600000 bc 64 eq 0 8.2472 ms/op 3.0348 ms/op 2.72
forkChoice updateHead vc 1000000 bc 64 eq 0 12.822 ms/op 4.5694 ms/op 2.81
forkChoice updateHead vc 600000 bc 320 eq 0 7.6718 ms/op 2.6901 ms/op 2.85
forkChoice updateHead vc 600000 bc 1200 eq 0 8.3878 ms/op 2.7404 ms/op 3.06
forkChoice updateHead vc 600000 bc 7200 eq 0 10.580 ms/op 3.7514 ms/op 2.82
forkChoice updateHead vc 600000 bc 64 eq 1000 16.555 ms/op 10.050 ms/op 1.65
forkChoice updateHead vc 600000 bc 64 eq 10000 18.244 ms/op 9.8486 ms/op 1.85
forkChoice updateHead vc 600000 bc 64 eq 300000 76.310 ms/op 12.354 ms/op 6.18
computeDeltas 500000 validators 300 proto nodes 10.421 ms/op 3.1688 ms/op 3.29
computeDeltas 500000 validators 1200 proto nodes 9.8202 ms/op 2.9780 ms/op 3.30
computeDeltas 500000 validators 7200 proto nodes 8.6103 ms/op 2.8549 ms/op 3.02
computeDeltas 750000 validators 300 proto nodes 10.814 ms/op 4.3259 ms/op 2.50
computeDeltas 750000 validators 1200 proto nodes 10.221 ms/op 4.4229 ms/op 2.31
computeDeltas 750000 validators 7200 proto nodes 9.9476 ms/op 4.3462 ms/op 2.29
computeDeltas 1400000 validators 300 proto nodes 18.944 ms/op 8.4912 ms/op 2.23
computeDeltas 1400000 validators 1200 proto nodes 19.551 ms/op 8.4567 ms/op 2.31
computeDeltas 1400000 validators 7200 proto nodes 18.925 ms/op 9.0931 ms/op 2.08
computeDeltas 2100000 validators 300 proto nodes 29.258 ms/op 13.887 ms/op 2.11
computeDeltas 2100000 validators 1200 proto nodes 28.258 ms/op 13.452 ms/op 2.10
computeDeltas 2100000 validators 7200 proto nodes 28.088 ms/op 13.350 ms/op 2.10
altair processAttestation - 250000 vs - 7PWei normalcase 2.2620 ms/op 1.9969 ms/op 1.13
altair processAttestation - 250000 vs - 7PWei worstcase 3.2712 ms/op 2.6677 ms/op 1.23
altair processAttestation - setStatus - 1/6 committees join 158.19 us/op 90.138 us/op 1.75
altair processAttestation - setStatus - 1/3 committees join 298.41 us/op 174.83 us/op 1.71
altair processAttestation - setStatus - 1/2 committees join 394.69 us/op 232.70 us/op 1.70
altair processAttestation - setStatus - 2/3 committees join 500.88 us/op 296.00 us/op 1.69
altair processAttestation - setStatus - 4/5 committees join 693.62 us/op 410.02 us/op 1.69
altair processAttestation - setStatus - 100% committees join 807.75 us/op 542.69 us/op 1.49
altair processBlock - 250000 vs - 7PWei normalcase 7.9291 ms/op 8.8227 ms/op 0.90
altair processBlock - 250000 vs - 7PWei normalcase hashState 36.394 ms/op 33.288 ms/op 1.09
altair processBlock - 250000 vs - 7PWei worstcase 45.507 ms/op 33.431 ms/op 1.36
altair processBlock - 250000 vs - 7PWei worstcase hashState 96.340 ms/op 80.519 ms/op 1.20
phase0 processBlock - 250000 vs - 7PWei normalcase 3.3046 ms/op 1.9404 ms/op 1.70
phase0 processBlock - 250000 vs - 7PWei worstcase 32.954 ms/op 28.928 ms/op 1.14
altair processEth1Data - 250000 vs - 7PWei normalcase 879.28 us/op 320.19 us/op 2.75
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 20.918 us/op 3.7150 us/op 5.63
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 83.932 us/op 38.203 us/op 2.20
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 20.398 us/op 9.3820 us/op 2.17
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 12.042 us/op 4.4090 us/op 2.73
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 192.92 us/op 125.49 us/op 1.54
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.7030 ms/op 824.92 us/op 2.06
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.9240 ms/op 1.0902 ms/op 1.76
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.0548 ms/op 1.0008 ms/op 2.05
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.3166 ms/op 2.3989 ms/op 1.80
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.8582 ms/op 1.5767 ms/op 1.81
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 6.4623 ms/op 3.9101 ms/op 1.65
Tree 40 250000 create 477.39 ms/op 262.52 ms/op 1.82
Tree 40 250000 get(125000) 220.65 ns/op 112.38 ns/op 1.96
Tree 40 250000 set(125000) 1.4099 us/op 760.98 ns/op 1.85
Tree 40 250000 toArray() 24.038 ms/op 13.265 ms/op 1.81
Tree 40 250000 iterate all - toArray() + loop 24.941 ms/op 10.554 ms/op 2.36
Tree 40 250000 iterate all - get(i) 74.666 ms/op 45.454 ms/op 1.64
MutableVector 250000 create 15.957 ms/op 10.605 ms/op 1.50
MutableVector 250000 get(125000) 6.8160 ns/op 5.5060 ns/op 1.24
MutableVector 250000 set(125000) 331.55 ns/op 199.10 ns/op 1.67
MutableVector 250000 toArray() 4.1737 ms/op 3.7689 ms/op 1.11
MutableVector 250000 iterate all - toArray() + loop 4.2218 ms/op 2.6108 ms/op 1.62
MutableVector 250000 iterate all - get(i) 1.6604 ms/op 1.3339 ms/op 1.24
Array 250000 create 4.0505 ms/op 2.4185 ms/op 1.67
Array 250000 clone - spread 1.6756 ms/op 1.0808 ms/op 1.55
Array 250000 get(125000) 1.6290 ns/op 0.94100 ns/op 1.73
Array 250000 set(125000) 5.7730 ns/op 1.1210 ns/op 5.15
Array 250000 iterate all - loop 192.00 us/op 154.90 us/op 1.24
effectiveBalanceIncrements clone Uint8Array 300000 64.315 us/op 12.639 us/op 5.09
effectiveBalanceIncrements clone MutableVector 300000 485.00 ns/op 298.00 ns/op 1.63
effectiveBalanceIncrements rw all Uint8Array 300000 217.93 us/op 184.96 us/op 1.18
effectiveBalanceIncrements rw all MutableVector 300000 114.97 ms/op 63.614 ms/op 1.81
phase0 afterProcessEpoch - 250000 vs - 7PWei 120.07 ms/op 78.924 ms/op 1.52
phase0 beforeProcessEpoch - 250000 vs - 7PWei 58.976 ms/op 51.014 ms/op 1.16
altair processEpoch - mainnet_e81889 586.53 ms/op 456.32 ms/op 1.29
mainnet_e81889 - altair beforeProcessEpoch 114.48 ms/op 81.870 ms/op 1.40
mainnet_e81889 - altair processJustificationAndFinalization 27.449 us/op 8.5720 us/op 3.20
mainnet_e81889 - altair processInactivityUpdates 8.6156 ms/op 6.6446 ms/op 1.30
mainnet_e81889 - altair processRewardsAndPenalties 77.943 ms/op 58.042 ms/op 1.34
mainnet_e81889 - altair processRegistryUpdates 4.3140 us/op 1.2070 us/op 3.57
mainnet_e81889 - altair processSlashings 890.00 ns/op 409.00 ns/op 2.18
mainnet_e81889 - altair processEth1DataReset 1.2320 us/op 498.00 ns/op 2.47
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.4201 ms/op 1.1097 ms/op 2.18
mainnet_e81889 - altair processSlashingsReset 5.2490 us/op 4.1820 us/op 1.26
mainnet_e81889 - altair processRandaoMixesReset 9.9540 us/op 5.0080 us/op 1.99
mainnet_e81889 - altair processHistoricalRootsUpdate 1.1970 us/op 606.00 ns/op 1.98
mainnet_e81889 - altair processParticipationFlagUpdates 3.7060 us/op 3.0110 us/op 1.23
mainnet_e81889 - altair processSyncCommitteeUpdates 1.5050 us/op 774.00 ns/op 1.94
mainnet_e81889 - altair afterProcessEpoch 132.91 ms/op 89.000 ms/op 1.49
capella processEpoch - mainnet_e217614 3.0792 s/op 2.2757 s/op 1.35
mainnet_e217614 - capella beforeProcessEpoch 634.47 ms/op 498.56 ms/op 1.27
mainnet_e217614 - capella processJustificationAndFinalization 29.891 us/op 8.2870 us/op 3.61
mainnet_e217614 - capella processInactivityUpdates 31.054 ms/op 15.497 ms/op 2.00
mainnet_e217614 - capella processRewardsAndPenalties 500.96 ms/op 398.71 ms/op 1.26
mainnet_e217614 - capella processRegistryUpdates 37.554 us/op 22.399 us/op 1.68
mainnet_e217614 - capella processSlashings 1.0380 us/op 616.00 ns/op 1.69
mainnet_e217614 - capella processEth1DataReset 977.00 ns/op 219.00 ns/op 4.46
mainnet_e217614 - capella processEffectiveBalanceUpdates 7.0698 ms/op 5.0092 ms/op 1.41
mainnet_e217614 - capella processSlashingsReset 6.4820 us/op 3.5790 us/op 1.81
mainnet_e217614 - capella processRandaoMixesReset 7.4520 us/op 4.9620 us/op 1.50
mainnet_e217614 - capella processHistoricalRootsUpdate 936.00 ns/op 346.00 ns/op 2.71
mainnet_e217614 - capella processParticipationFlagUpdates 2.9530 us/op 1.2510 us/op 2.36
mainnet_e217614 - capella afterProcessEpoch 320.07 ms/op 212.97 ms/op 1.50
phase0 processEpoch - mainnet_e58758 523.45 ms/op 438.54 ms/op 1.19
mainnet_e58758 - phase0 beforeProcessEpoch 170.10 ms/op 120.20 ms/op 1.42
mainnet_e58758 - phase0 processJustificationAndFinalization 30.658 us/op 8.5110 us/op 3.60
mainnet_e58758 - phase0 processRewardsAndPenalties 62.996 ms/op 44.184 ms/op 1.43
mainnet_e58758 - phase0 processRegistryUpdates 21.439 us/op 4.0940 us/op 5.24
mainnet_e58758 - phase0 processSlashings 1.4910 us/op 217.00 ns/op 6.87
mainnet_e58758 - phase0 processEth1DataReset 947.00 ns/op 314.00 ns/op 3.02
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.7954 ms/op 835.37 us/op 2.15
mainnet_e58758 - phase0 processSlashingsReset 4.1170 us/op 3.7170 us/op 1.11
mainnet_e58758 - phase0 processRandaoMixesReset 6.1140 us/op 4.0530 us/op 1.51
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.0560 us/op 306.00 ns/op 3.45
mainnet_e58758 - phase0 processParticipationRecordUpdates 5.3550 us/op 1.8530 us/op 2.89
mainnet_e58758 - phase0 afterProcessEpoch 103.45 ms/op 65.874 ms/op 1.57
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4246 ms/op 1.0389 ms/op 1.37
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5552 ms/op 1.1162 ms/op 1.39
altair processInactivityUpdates - 250000 normalcase 25.556 ms/op 22.819 ms/op 1.12
altair processInactivityUpdates - 250000 worstcase 27.318 ms/op 22.811 ms/op 1.20
phase0 processRegistryUpdates - 250000 normalcase 14.803 us/op 3.5790 us/op 4.14
phase0 processRegistryUpdates - 250000 badcase_full_deposits 484.81 us/op 261.22 us/op 1.86
phase0 processRegistryUpdates - 250000 worstcase 0.5 137.08 ms/op 114.67 ms/op 1.20
altair processRewardsAndPenalties - 250000 normalcase 59.435 ms/op 47.050 ms/op 1.26
altair processRewardsAndPenalties - 250000 worstcase 57.862 ms/op 54.059 ms/op 1.07
phase0 getAttestationDeltas - 250000 normalcase 10.349 ms/op 9.1407 ms/op 1.13
phase0 getAttestationDeltas - 250000 worstcase 11.324 ms/op 7.0746 ms/op 1.60
phase0 processSlashings - 250000 worstcase 116.81 us/op 59.090 us/op 1.98
altair processSyncCommitteeUpdates - 250000 166.77 ms/op 127.56 ms/op 1.31
BeaconState.hashTreeRoot - No change 577.00 ns/op 220.00 ns/op 2.62
BeaconState.hashTreeRoot - 1 full validator 159.13 us/op 161.53 us/op 0.99
BeaconState.hashTreeRoot - 32 full validator 1.3790 ms/op 1.2748 ms/op 1.08
BeaconState.hashTreeRoot - 512 full validator 14.351 ms/op 15.571 ms/op 0.92
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 150.27 us/op 153.69 us/op 0.98
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.0914 ms/op 1.9203 ms/op 1.09
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 34.125 ms/op 30.297 ms/op 1.13
BeaconState.hashTreeRoot - 1 balances 118.52 us/op 131.87 us/op 0.90
BeaconState.hashTreeRoot - 32 balances 1.2051 ms/op 1.5311 ms/op 0.79
BeaconState.hashTreeRoot - 512 balances 11.114 ms/op 10.073 ms/op 1.10
BeaconState.hashTreeRoot - 250000 balances 200.21 ms/op 164.35 ms/op 1.22
aggregationBits - 2048 els - zipIndexesInBitList 55.521 us/op 12.437 us/op 4.46
byteArrayEquals 32 76.916 ns/op 70.042 ns/op 1.10
Buffer.compare 32 57.313 ns/op 41.676 ns/op 1.38
byteArrayEquals 1024 2.0820 us/op 1.8660 us/op 1.12
Buffer.compare 1024 71.123 ns/op 46.757 ns/op 1.52
byteArrayEquals 16384 33.334 us/op 28.960 us/op 1.15
Buffer.compare 16384 256.07 ns/op 231.83 ns/op 1.10
byteArrayEquals 123687377 255.83 ms/op 217.69 ms/op 1.18
Buffer.compare 123687377 7.5397 ms/op 6.4326 ms/op 1.17
byteArrayEquals 32 - diff last byte 76.364 ns/op 60.504 ns/op 1.26
Buffer.compare 32 - diff last byte 61.371 ns/op 37.730 ns/op 1.63
byteArrayEquals 1024 - diff last byte 2.0815 us/op 1.6941 us/op 1.23
Buffer.compare 1024 - diff last byte 73.584 ns/op 48.071 ns/op 1.53
byteArrayEquals 16384 - diff last byte 33.112 us/op 27.135 us/op 1.22
Buffer.compare 16384 - diff last byte 278.27 ns/op 196.99 ns/op 1.41
byteArrayEquals 123687377 - diff last byte 253.59 ms/op 205.46 ms/op 1.23
Buffer.compare 123687377 - diff last byte 8.9714 ms/op 6.5881 ms/op 1.36
byteArrayEquals 32 - random bytes 6.3210 ns/op 5.4220 ns/op 1.17
Buffer.compare 32 - random bytes 64.144 ns/op 39.225 ns/op 1.64
byteArrayEquals 1024 - random bytes 5.9950 ns/op 5.5730 ns/op 1.08
Buffer.compare 1024 - random bytes 63.400 ns/op 37.470 ns/op 1.69
byteArrayEquals 16384 - random bytes 6.4690 ns/op 5.0810 ns/op 1.27
Buffer.compare 16384 - random bytes 63.688 ns/op 36.988 ns/op 1.72
byteArrayEquals 123687377 - random bytes 9.3000 ns/op 7.3500 ns/op 1.27
Buffer.compare 123687377 - random bytes 67.640 ns/op 46.090 ns/op 1.47
regular array get 100000 times 46.835 us/op 42.562 us/op 1.10
wrappedArray get 100000 times 47.097 us/op 42.129 us/op 1.12
arrayWithProxy get 100000 times 14.465 ms/op 9.8656 ms/op 1.47
ssz.Root.equals 56.702 ns/op 56.228 ns/op 1.01
byteArrayEquals 55.021 ns/op 57.189 ns/op 0.96
Buffer.compare 11.466 ns/op 9.5750 ns/op 1.20
shuffle list - 16384 els 7.2176 ms/op 4.7380 ms/op 1.52
shuffle list - 250000 els 105.61 ms/op 70.468 ms/op 1.50
processSlot - 1 slots 17.004 us/op 16.876 us/op 1.01
processSlot - 32 slots 3.3674 ms/op 2.6759 ms/op 1.26
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 56.675 ms/op 51.872 ms/op 1.09
getCommitteeAssignments - req 1 vs - 250000 vc 2.5575 ms/op 2.2554 ms/op 1.13
getCommitteeAssignments - req 100 vs - 250000 vc 3.7902 ms/op 3.4010 ms/op 1.11
getCommitteeAssignments - req 1000 vs - 250000 vc 4.1186 ms/op 3.7177 ms/op 1.11
findModifiedValidators - 10000 modified validators 533.98 ms/op 450.27 ms/op 1.19
findModifiedValidators - 1000 modified validators 439.29 ms/op 352.50 ms/op 1.25
findModifiedValidators - 100 modified validators 427.85 ms/op 326.35 ms/op 1.31
findModifiedValidators - 10 modified validators 435.11 ms/op 335.22 ms/op 1.30
findModifiedValidators - 1 modified validators 421.23 ms/op 339.26 ms/op 1.24
findModifiedValidators - no difference 399.65 ms/op 317.31 ms/op 1.26
compare ViewDUs 4.5286 s/op 3.6755 s/op 1.23
compare each validator Uint8Array 1.6838 s/op 926.57 ms/op 1.82
compare ViewDU to Uint8Array 1.3563 s/op 908.79 ms/op 1.49
migrate state 1000000 validators, 24 modified, 0 new 766.59 ms/op 656.50 ms/op 1.17
migrate state 1000000 validators, 1700 modified, 1000 new 1.0981 s/op 1.0806 s/op 1.02
migrate state 1000000 validators, 3400 modified, 2000 new 1.3185 s/op 1.3965 s/op 0.94
migrate state 1500000 validators, 24 modified, 0 new 794.40 ms/op 710.62 ms/op 1.12
migrate state 1500000 validators, 1700 modified, 1000 new 1.1849 s/op 951.86 ms/op 1.24
migrate state 1500000 validators, 3400 modified, 2000 new 1.5840 s/op 1.1503 s/op 1.38
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.3900 ns/op 3.4500 ns/op 1.56
state getBlockRootAtSlot - 250000 vs - 7PWei 883.53 ns/op 627.71 ns/op 1.41
computeProposers - vc 250000 11.200 ms/op 5.9566 ms/op 1.88
computeEpochShuffling - vc 250000 108.58 ms/op 66.530 ms/op 1.63
getNextSyncCommittee - vc 250000 171.35 ms/op 100.73 ms/op 1.70
computeSigningRoot for AttestationData 26.523 us/op 25.667 us/op 1.03
hash AttestationData serialized data then Buffer.toString(base64) 2.4819 us/op 1.1808 us/op 2.10
toHexString serialized data 1.2660 us/op 738.78 ns/op 1.71
Buffer.toString(base64) 232.41 ns/op 152.80 ns/op 1.52

by benchmarkbot/action

@philknows
Copy link
Member

Let's wait for the merges in the various eth-client repos before go ahead with this.

@philknows philknows added this to the v1.14.0 milestone Dec 21, 2023
@g11tech
Copy link
Contributor Author

g11tech commented Jan 4, 2024

this schedule is a go for now (unless something bad happens on goerli)

so the ideal strategy would be to:

hold off deployment of this release to sepolia and holesky till the verdict on goerli is out

@g11tech g11tech marked this pull request as draft January 7, 2024 09:36
@g11tech
Copy link
Contributor Author

g11tech commented Jan 7, 2024

UPDATE: first goerli is being released and based on the actual rollout, this scheduled will be applied (or modified) for sepolia/holesky and released separately

@g11tech g11tech marked this pull request as ready for review January 19, 2024 08:33
@philknows philknows merged commit 3215bdd into unstable Jan 19, 2024
13 of 15 checks passed
@philknows philknows deleted the cancun-testnets branch January 19, 2024 15:48
ensi321 pushed a commit to ensi321/lodestar that referenced this pull request Jan 22, 2024
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.15.0 🎉

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

Successfully merging this pull request may close these issues.

3 participants