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: add additional instructions for hotfixes in release.md #6971

Merged
merged 6 commits into from
Jul 29, 2024

Conversation

philknows
Copy link
Member

Motivation

This PR is to give clearer instructions on how to deal with merge conflicts arising from hotfixes and backporting into unstable.

Description

Due to the unusual nature of merging stable back to unstable, sometimes with conflicts, it's important to provide more verbose instructions to document how to accomplish this successfully.

Copy link

codecov bot commented Jul 19, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 62.49%. Comparing base (02cc65b) to head (17b61db).
Report is 6 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #6971      +/-   ##
============================================
- Coverage     62.49%   62.49%   -0.01%     
============================================
  Files           576      576              
  Lines         61180    61170      -10     
  Branches       2131     2133       +2     
============================================
- Hits          38234    38226       -8     
+ Misses        22907    22905       -2     
  Partials         39       39              

RELEASE.md Outdated Show resolved Hide resolved
Copy link
Contributor

github-actions bot commented Jul 19, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 3eaedd3 Previous: 3ecee07 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.8266 ms/op 1.8161 ms/op 1.01
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 39.176 us/op 40.656 us/op 0.96
BLS verify - blst 868.48 us/op 933.82 us/op 0.93
BLS verifyMultipleSignatures 3 - blst 1.2605 ms/op 1.3316 ms/op 0.95
BLS verifyMultipleSignatures 8 - blst 2.0032 ms/op 2.0141 ms/op 0.99
BLS verifyMultipleSignatures 32 - blst 4.3032 ms/op 4.4419 ms/op 0.97
BLS verifyMultipleSignatures 64 - blst 8.0156 ms/op 8.4717 ms/op 0.95
BLS verifyMultipleSignatures 128 - blst 15.648 ms/op 16.568 ms/op 0.94
BLS deserializing 10000 signatures 621.58 ms/op 626.75 ms/op 0.99
BLS deserializing 100000 signatures 6.2614 s/op 6.2851 s/op 1.00
BLS verifyMultipleSignatures - same message - 3 - blst 959.02 us/op 962.13 us/op 1.00
BLS verifyMultipleSignatures - same message - 8 - blst 1.0774 ms/op 1.1003 ms/op 0.98
BLS verifyMultipleSignatures - same message - 32 - blst 1.6852 ms/op 1.6797 ms/op 1.00
BLS verifyMultipleSignatures - same message - 64 - blst 2.5675 ms/op 2.5600 ms/op 1.00
BLS verifyMultipleSignatures - same message - 128 - blst 4.2789 ms/op 4.1332 ms/op 1.04
BLS aggregatePubkeys 32 - blst 18.352 us/op 18.269 us/op 1.00
BLS aggregatePubkeys 128 - blst 64.554 us/op 63.508 us/op 1.02
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 67.894 ms/op 44.887 ms/op 1.51
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 37.751 ms/op 40.249 ms/op 0.94
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 30.193 ms/op 29.061 ms/op 1.04
getSlashingsAndExits - default max 64.987 us/op 65.296 us/op 1.00
getSlashingsAndExits - 2k 255.13 us/op 231.94 us/op 1.10
proposeBlockBody type=full, size=empty 5.2190 ms/op 4.9844 ms/op 1.05
isKnown best case - 1 super set check 466.00 ns/op 471.00 ns/op 0.99
isKnown normal case - 2 super set checks 451.00 ns/op 489.00 ns/op 0.92
isKnown worse case - 16 super set checks 446.00 ns/op 452.00 ns/op 0.99
InMemoryCheckpointStateCache - add get delete 4.3160 us/op 4.3280 us/op 1.00
validate api signedAggregateAndProof - struct 1.5066 ms/op 1.5100 ms/op 1.00
validate gossip signedAggregateAndProof - struct 1.8916 ms/op 1.5846 ms/op 1.19
validate gossip attestation - vc 640000 980.89 us/op 993.43 us/op 0.99
batch validate gossip attestation - vc 640000 - chunk 32 118.99 us/op 132.94 us/op 0.90
batch validate gossip attestation - vc 640000 - chunk 64 104.76 us/op 110.49 us/op 0.95
batch validate gossip attestation - vc 640000 - chunk 128 102.05 us/op 96.000 us/op 1.06
batch validate gossip attestation - vc 640000 - chunk 256 100.05 us/op 91.802 us/op 1.09
pickEth1Vote - no votes 914.08 us/op 851.31 us/op 1.07
pickEth1Vote - max votes 8.9617 ms/op 7.1167 ms/op 1.26
pickEth1Vote - Eth1Data hashTreeRoot value x2048 14.681 ms/op 14.473 ms/op 1.01
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 23.793 ms/op 22.088 ms/op 1.08
pickEth1Vote - Eth1Data fastSerialize value x2048 424.87 us/op 386.93 us/op 1.10
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.5213 ms/op 6.5492 ms/op 0.54
bytes32 toHexString 674.00 ns/op 555.00 ns/op 1.21
bytes32 Buffer.toString(hex) 444.00 ns/op 428.00 ns/op 1.04
bytes32 Buffer.toString(hex) from Uint8Array 609.00 ns/op 519.00 ns/op 1.17
bytes32 Buffer.toString(hex) + 0x 429.00 ns/op 421.00 ns/op 1.02
Object access 1 prop 0.35300 ns/op 0.31500 ns/op 1.12
Map access 1 prop 0.30800 ns/op 0.31500 ns/op 0.98
Object get x1000 4.8870 ns/op 5.5540 ns/op 0.88
Map get x1000 5.6320 ns/op 5.8130 ns/op 0.97
Object set x1000 32.557 ns/op 22.512 ns/op 1.45
Map set x1000 19.653 ns/op 18.777 ns/op 1.05
Return object 10000 times 0.29100 ns/op 0.29550 ns/op 0.98
Throw Error 10000 times 2.6535 us/op 2.7093 us/op 0.98
fastMsgIdFn sha256 / 200 bytes 2.0460 us/op 1.9560 us/op 1.05
fastMsgIdFn h32 xxhash / 200 bytes 458.00 ns/op 402.00 ns/op 1.14
fastMsgIdFn h64 xxhash / 200 bytes 441.00 ns/op 452.00 ns/op 0.98
fastMsgIdFn sha256 / 1000 bytes 5.8650 us/op 5.8900 us/op 1.00
fastMsgIdFn h32 xxhash / 1000 bytes 585.00 ns/op 527.00 ns/op 1.11
fastMsgIdFn h64 xxhash / 1000 bytes 514.00 ns/op 524.00 ns/op 0.98
fastMsgIdFn sha256 / 10000 bytes 50.790 us/op 50.339 us/op 1.01
fastMsgIdFn h32 xxhash / 10000 bytes 1.9630 us/op 1.8780 us/op 1.05
fastMsgIdFn h64 xxhash / 10000 bytes 1.3390 us/op 1.3270 us/op 1.01
send data - 1000 256B messages 11.014 ms/op 10.347 ms/op 1.06
send data - 1000 512B messages 14.478 ms/op 13.202 ms/op 1.10
send data - 1000 1024B messages 23.472 ms/op 20.553 ms/op 1.14
send data - 1000 1200B messages 14.739 ms/op 24.101 ms/op 0.61
send data - 1000 2048B messages 30.011 ms/op 28.421 ms/op 1.06
send data - 1000 4096B messages 25.598 ms/op 26.102 ms/op 0.98
send data - 1000 16384B messages 65.522 ms/op 66.342 ms/op 0.99
send data - 1000 65536B messages 244.43 ms/op 257.92 ms/op 0.95
enrSubnets - fastDeserialize 64 bits 1.1250 us/op 1.0530 us/op 1.07
enrSubnets - ssz BitVector 64 bits 521.00 ns/op 507.00 ns/op 1.03
enrSubnets - fastDeserialize 4 bits 339.00 ns/op 332.00 ns/op 1.02
enrSubnets - ssz BitVector 4 bits 531.00 ns/op 509.00 ns/op 1.04
prioritizePeers score -10:0 att 32-0.1 sync 2-0 124.30 us/op 122.31 us/op 1.02
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 146.25 us/op 141.87 us/op 1.03
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 212.07 us/op 269.02 us/op 0.79
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 375.20 us/op 519.44 us/op 0.72
prioritizePeers score 0:0 att 64-1 sync 4-1 446.62 us/op 620.47 us/op 0.72
array of 16000 items push then shift 1.2831 us/op 1.1968 us/op 1.07
LinkedList of 16000 items push then shift 7.6780 ns/op 6.3970 ns/op 1.20
array of 16000 items push then pop 111.16 ns/op 76.259 ns/op 1.46
LinkedList of 16000 items push then pop 6.3030 ns/op 6.2780 ns/op 1.00
array of 24000 items push then shift 1.8050 us/op 1.9020 us/op 0.95
LinkedList of 24000 items push then shift 7.1930 ns/op 6.4030 ns/op 1.12
array of 24000 items push then pop 144.67 ns/op 105.60 ns/op 1.37
LinkedList of 24000 items push then pop 6.0990 ns/op 6.2040 ns/op 0.98
intersect bitArray bitLen 8 5.2850 ns/op 5.4260 ns/op 0.97
intersect array and set length 8 37.416 ns/op 38.258 ns/op 0.98
intersect bitArray bitLen 128 25.762 ns/op 26.664 ns/op 0.97
intersect array and set length 128 571.04 ns/op 576.75 ns/op 0.99
bitArray.getTrueBitIndexes() bitLen 128 1.5290 us/op 1.9630 us/op 0.78
bitArray.getTrueBitIndexes() bitLen 248 2.4710 us/op 3.1700 us/op 0.78
bitArray.getTrueBitIndexes() bitLen 512 4.5360 us/op 6.4900 us/op 0.70
Buffer.concat 32 items 1.0800 us/op 1.0390 us/op 1.04
Uint8Array.set 32 items 1.7010 us/op 1.7000 us/op 1.00
Buffer.copy 1.8350 us/op 1.9380 us/op 0.95
Uint8Array.set - with subarray 2.4270 us/op 2.4330 us/op 1.00
Uint8Array.set - without subarray 1.6350 us/op 1.7850 us/op 0.92
getUint32 - dataview 419.00 ns/op 407.00 ns/op 1.03
getUint32 - manual 366.00 ns/op 340.00 ns/op 1.08
Set add up to 64 items then delete first 1.6962 us/op 1.7282 us/op 0.98
OrderedSet add up to 64 items then delete first 2.6216 us/op 2.6970 us/op 0.97
Set add up to 64 items then delete last 1.9311 us/op 1.9534 us/op 0.99
OrderedSet add up to 64 items then delete last 3.0144 us/op 2.9736 us/op 1.01
Set add up to 64 items then delete middle 1.9415 us/op 1.9570 us/op 0.99
OrderedSet add up to 64 items then delete middle 4.3563 us/op 4.2991 us/op 1.01
Set add up to 128 items then delete first 3.7357 us/op 3.8649 us/op 0.97
OrderedSet add up to 128 items then delete first 5.6512 us/op 6.0932 us/op 0.93
Set add up to 128 items then delete last 3.7738 us/op 3.7420 us/op 1.01
OrderedSet add up to 128 items then delete last 5.9210 us/op 5.8198 us/op 1.02
Set add up to 128 items then delete middle 3.7068 us/op 3.7310 us/op 0.99
OrderedSet add up to 128 items then delete middle 11.507 us/op 11.507 us/op 1.00
Set add up to 256 items then delete first 7.3125 us/op 7.7769 us/op 0.94
OrderedSet add up to 256 items then delete first 11.493 us/op 12.930 us/op 0.89
Set add up to 256 items then delete last 7.3730 us/op 7.7755 us/op 0.95
OrderedSet add up to 256 items then delete last 11.988 us/op 11.718 us/op 1.02
Set add up to 256 items then delete middle 7.3351 us/op 7.5397 us/op 0.97
OrderedSet add up to 256 items then delete middle 33.581 us/op 33.565 us/op 1.00
transfer serialized Status (84 B) 1.4950 us/op 1.4240 us/op 1.05
copy serialized Status (84 B) 1.3070 us/op 1.2400 us/op 1.05
transfer serialized SignedVoluntaryExit (112 B) 1.5650 us/op 1.5190 us/op 1.03
copy serialized SignedVoluntaryExit (112 B) 1.4260 us/op 1.2720 us/op 1.12
transfer serialized ProposerSlashing (416 B) 1.9780 us/op 1.8430 us/op 1.07
copy serialized ProposerSlashing (416 B) 2.0090 us/op 1.9850 us/op 1.01
transfer serialized Attestation (485 B) 2.1630 us/op 2.1060 us/op 1.03
copy serialized Attestation (485 B) 2.0860 us/op 2.2230 us/op 0.94
transfer serialized AttesterSlashing (33232 B) 2.4220 us/op 2.6890 us/op 0.90
copy serialized AttesterSlashing (33232 B) 3.9880 us/op 6.1680 us/op 0.65
transfer serialized Small SignedBeaconBlock (128000 B) 2.5770 us/op 3.3090 us/op 0.78
copy serialized Small SignedBeaconBlock (128000 B) 8.6610 us/op 28.311 us/op 0.31
transfer serialized Avg SignedBeaconBlock (200000 B) 2.5890 us/op 3.7270 us/op 0.69
copy serialized Avg SignedBeaconBlock (200000 B) 11.937 us/op 27.655 us/op 0.43
transfer serialized BlobsSidecar (524380 B) 2.8140 us/op 3.5920 us/op 0.78
copy serialized BlobsSidecar (524380 B) 69.741 us/op 86.008 us/op 0.81
transfer serialized Big SignedBeaconBlock (1000000 B) 3.2660 us/op 3.0700 us/op 1.06
copy serialized Big SignedBeaconBlock (1000000 B) 234.45 us/op 146.86 us/op 1.60
pass gossip attestations to forkchoice per slot 2.7572 ms/op 2.8317 ms/op 0.97
forkChoice updateHead vc 100000 bc 64 eq 0 389.39 us/op 421.85 us/op 0.92
forkChoice updateHead vc 600000 bc 64 eq 0 2.5192 ms/op 2.6211 ms/op 0.96
forkChoice updateHead vc 1000000 bc 64 eq 0 4.1868 ms/op 4.3942 ms/op 0.95
forkChoice updateHead vc 600000 bc 320 eq 0 2.4378 ms/op 2.5250 ms/op 0.97
forkChoice updateHead vc 600000 bc 1200 eq 0 2.7030 ms/op 2.6470 ms/op 1.02
forkChoice updateHead vc 600000 bc 7200 eq 0 3.1414 ms/op 2.8480 ms/op 1.10
forkChoice updateHead vc 600000 bc 64 eq 1000 9.7217 ms/op 9.7065 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 10000 9.6423 ms/op 9.3189 ms/op 1.03
forkChoice updateHead vc 600000 bc 64 eq 300000 11.755 ms/op 11.750 ms/op 1.00
computeDeltas 500000 validators 300 proto nodes 3.0265 ms/op 2.9659 ms/op 1.02
computeDeltas 500000 validators 1200 proto nodes 3.0010 ms/op 3.0318 ms/op 0.99
computeDeltas 500000 validators 7200 proto nodes 3.0189 ms/op 3.0469 ms/op 0.99
computeDeltas 750000 validators 300 proto nodes 4.4219 ms/op 4.5666 ms/op 0.97
computeDeltas 750000 validators 1200 proto nodes 4.3003 ms/op 4.5605 ms/op 0.94
computeDeltas 750000 validators 7200 proto nodes 4.4600 ms/op 4.4890 ms/op 0.99
computeDeltas 1400000 validators 300 proto nodes 8.1296 ms/op 8.1657 ms/op 1.00
computeDeltas 1400000 validators 1200 proto nodes 8.2233 ms/op 8.5138 ms/op 0.97
computeDeltas 1400000 validators 7200 proto nodes 8.4415 ms/op 8.3392 ms/op 1.01
computeDeltas 2100000 validators 300 proto nodes 13.101 ms/op 12.604 ms/op 1.04
computeDeltas 2100000 validators 1200 proto nodes 13.075 ms/op 12.520 ms/op 1.04
computeDeltas 2100000 validators 7200 proto nodes 13.008 ms/op 12.537 ms/op 1.04
altair processAttestation - 250000 vs - 7PWei normalcase 1.5306 ms/op 1.4688 ms/op 1.04
altair processAttestation - 250000 vs - 7PWei worstcase 2.3692 ms/op 2.0135 ms/op 1.18
altair processAttestation - setStatus - 1/6 committees join 74.381 us/op 68.655 us/op 1.08
altair processAttestation - setStatus - 1/3 committees join 137.88 us/op 124.76 us/op 1.11
altair processAttestation - setStatus - 1/2 committees join 205.11 us/op 184.02 us/op 1.11
altair processAttestation - setStatus - 2/3 committees join 278.67 us/op 239.50 us/op 1.16
altair processAttestation - setStatus - 4/5 committees join 410.70 us/op 378.21 us/op 1.09
altair processAttestation - setStatus - 100% committees join 522.72 us/op 454.44 us/op 1.15
altair processBlock - 250000 vs - 7PWei normalcase 5.1431 ms/op 4.4918 ms/op 1.14
altair processBlock - 250000 vs - 7PWei normalcase hashState 22.220 ms/op 24.021 ms/op 0.93
altair processBlock - 250000 vs - 7PWei worstcase 40.065 ms/op 39.464 ms/op 1.02
altair processBlock - 250000 vs - 7PWei worstcase hashState 69.208 ms/op 63.687 ms/op 1.09
phase0 processBlock - 250000 vs - 7PWei normalcase 1.4949 ms/op 1.4654 ms/op 1.02
phase0 processBlock - 250000 vs - 7PWei worstcase 23.936 ms/op 23.161 ms/op 1.03
altair processEth1Data - 250000 vs - 7PWei normalcase 470.30 us/op 258.03 us/op 1.82
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 5.0940 us/op 4.6960 us/op 1.08
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 20.569 us/op 17.370 us/op 1.18
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 7.8640 us/op 7.0100 us/op 1.12
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 6.6630 us/op 7.1990 us/op 0.93
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 93.357 us/op 53.319 us/op 1.75
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 857.16 us/op 756.87 us/op 1.13
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.1323 ms/op 1.0549 ms/op 1.07
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 694.95 us/op 598.69 us/op 1.16
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.2517 ms/op 1.9868 ms/op 1.13
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.2135 ms/op 1.1788 ms/op 1.03
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.5279 ms/op 3.0934 ms/op 1.14
Tree 40 250000 create 269.00 ms/op 230.63 ms/op 1.17
Tree 40 250000 get(125000) 119.34 ns/op 124.77 ns/op 0.96
Tree 40 250000 set(125000) 596.66 ns/op 598.65 ns/op 1.00
Tree 40 250000 toArray() 17.253 ms/op 19.573 ms/op 0.88
Tree 40 250000 iterate all - toArray() + loop 17.785 ms/op 20.883 ms/op 0.85
Tree 40 250000 iterate all - get(i) 46.922 ms/op 53.146 ms/op 0.88
MutableVector 250000 create 11.433 ms/op 10.041 ms/op 1.14
MutableVector 250000 get(125000) 5.7120 ns/op 5.9730 ns/op 0.96
MutableVector 250000 set(125000) 174.09 ns/op 186.81 ns/op 0.93
MutableVector 250000 toArray() 3.5440 ms/op 3.2826 ms/op 1.08
MutableVector 250000 iterate all - toArray() + loop 3.5917 ms/op 3.0885 ms/op 1.16
MutableVector 250000 iterate all - get(i) 1.3999 ms/op 1.4059 ms/op 1.00
Array 250000 create 3.3700 ms/op 2.5744 ms/op 1.31
Array 250000 clone - spread 1.2830 ms/op 1.3692 ms/op 0.94
Array 250000 get(125000) 0.56900 ns/op 0.56200 ns/op 1.01
Array 250000 set(125000) 0.61300 ns/op 0.57200 ns/op 1.07
Array 250000 iterate all - loop 75.171 us/op 74.604 us/op 1.01
effectiveBalanceIncrements clone Uint8Array 300000 28.405 us/op 25.582 us/op 1.11
effectiveBalanceIncrements clone MutableVector 300000 313.00 ns/op 301.00 ns/op 1.04
effectiveBalanceIncrements rw all Uint8Array 300000 165.24 us/op 166.32 us/op 0.99
effectiveBalanceIncrements rw all MutableVector 300000 58.732 ms/op 60.043 ms/op 0.98
phase0 afterProcessEpoch - 250000 vs - 7PWei 75.515 ms/op 73.787 ms/op 1.02
Array.fill - length 1000000 3.3709 ms/op 2.9598 ms/op 1.14
Array push - length 1000000 19.537 ms/op 14.858 ms/op 1.31
Array.get 0.25738 ns/op 0.25259 ns/op 1.02
Uint8Array.get 0.33281 ns/op 0.33273 ns/op 1.00
phase0 beforeProcessEpoch - 250000 vs - 7PWei 24.637 ms/op 21.662 ms/op 1.14
altair processEpoch - mainnet_e81889 333.50 ms/op 327.55 ms/op 1.02
mainnet_e81889 - altair beforeProcessEpoch 31.209 ms/op 28.296 ms/op 1.10
mainnet_e81889 - altair processJustificationAndFinalization 11.134 us/op 9.4310 us/op 1.18
mainnet_e81889 - altair processInactivityUpdates 4.5623 ms/op 4.5880 ms/op 0.99
mainnet_e81889 - altair processRewardsAndPenalties 53.356 ms/op 44.743 ms/op 1.19
mainnet_e81889 - altair processRegistryUpdates 1.9710 us/op 1.3130 us/op 1.50
mainnet_e81889 - altair processSlashings 733.00 ns/op 767.00 ns/op 0.96
mainnet_e81889 - altair processEth1DataReset 659.00 ns/op 636.00 ns/op 1.04
mainnet_e81889 - altair processEffectiveBalanceUpdates 815.85 us/op 871.54 us/op 0.94
mainnet_e81889 - altair processSlashingsReset 1.2470 us/op 1.3300 us/op 0.94
mainnet_e81889 - altair processRandaoMixesReset 2.6820 us/op 1.4950 us/op 1.79
mainnet_e81889 - altair processHistoricalRootsUpdate 719.00 ns/op 700.00 ns/op 1.03
mainnet_e81889 - altair processParticipationFlagUpdates 3.8100 us/op 1.2850 us/op 2.96
mainnet_e81889 - altair processSyncCommitteeUpdates 718.00 ns/op 602.00 ns/op 1.19
mainnet_e81889 - altair afterProcessEpoch 79.203 ms/op 77.856 ms/op 1.02
capella processEpoch - mainnet_e217614 1.1994 s/op 1.1254 s/op 1.07
mainnet_e217614 - capella beforeProcessEpoch 104.53 ms/op 97.400 ms/op 1.07
mainnet_e217614 - capella processJustificationAndFinalization 15.607 us/op 13.207 us/op 1.18
mainnet_e217614 - capella processInactivityUpdates 14.590 ms/op 15.963 ms/op 0.91
mainnet_e217614 - capella processRewardsAndPenalties 244.40 ms/op 265.88 ms/op 0.92
mainnet_e217614 - capella processRegistryUpdates 11.161 us/op 11.657 us/op 0.96
mainnet_e217614 - capella processSlashings 769.00 ns/op 759.00 ns/op 1.01
mainnet_e217614 - capella processEth1DataReset 690.00 ns/op 747.00 ns/op 0.92
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.2303 ms/op 3.8095 ms/op 1.11
mainnet_e217614 - capella processSlashingsReset 2.8630 us/op 1.3140 us/op 2.18
mainnet_e217614 - capella processRandaoMixesReset 6.3970 us/op 2.9780 us/op 2.15
mainnet_e217614 - capella processHistoricalRootsUpdate 1.0650 us/op 698.00 ns/op 1.53
mainnet_e217614 - capella processParticipationFlagUpdates 1.3910 us/op 1.3460 us/op 1.03
mainnet_e217614 - capella afterProcessEpoch 240.36 ms/op 237.79 ms/op 1.01
phase0 processEpoch - mainnet_e58758 359.62 ms/op 373.73 ms/op 0.96
mainnet_e58758 - phase0 beforeProcessEpoch 86.295 ms/op 77.211 ms/op 1.12
mainnet_e58758 - phase0 processJustificationAndFinalization 13.661 us/op 10.451 us/op 1.31
mainnet_e58758 - phase0 processRewardsAndPenalties 31.250 ms/op 28.470 ms/op 1.10
mainnet_e58758 - phase0 processRegistryUpdates 6.3050 us/op 5.9920 us/op 1.05
mainnet_e58758 - phase0 processSlashings 772.00 ns/op 721.00 ns/op 1.07
mainnet_e58758 - phase0 processEth1DataReset 853.00 ns/op 671.00 ns/op 1.27
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 682.88 us/op 1.1208 ms/op 0.61
mainnet_e58758 - phase0 processSlashingsReset 3.2080 us/op 2.1050 us/op 1.52
mainnet_e58758 - phase0 processRandaoMixesReset 5.8400 us/op 2.9760 us/op 1.96
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.3930 us/op 700.00 ns/op 1.99
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.6780 us/op 2.7330 us/op 1.35
mainnet_e58758 - phase0 afterProcessEpoch 69.537 ms/op 68.727 ms/op 1.01
phase0 processEffectiveBalanceUpdates - 250000 normalcase 784.63 us/op 819.48 us/op 0.96
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.3479 ms/op 1.5015 ms/op 0.90
altair processInactivityUpdates - 250000 normalcase 18.210 ms/op 16.205 ms/op 1.12
altair processInactivityUpdates - 250000 worstcase 16.355 ms/op 19.732 ms/op 0.83
phase0 processRegistryUpdates - 250000 normalcase 6.6180 us/op 5.1600 us/op 1.28
phase0 processRegistryUpdates - 250000 badcase_full_deposits 297.80 us/op 293.05 us/op 1.02
phase0 processRegistryUpdates - 250000 worstcase 0.5 110.13 ms/op 107.82 ms/op 1.02
altair processRewardsAndPenalties - 250000 normalcase 37.335 ms/op 42.561 ms/op 0.88
altair processRewardsAndPenalties - 250000 worstcase 44.088 ms/op 39.537 ms/op 1.12
phase0 getAttestationDeltas - 250000 normalcase 5.9780 ms/op 5.8706 ms/op 1.02
phase0 getAttestationDeltas - 250000 worstcase 6.4329 ms/op 6.6244 ms/op 0.97
phase0 processSlashings - 250000 worstcase 75.665 us/op 79.123 us/op 0.96
altair processSyncCommitteeUpdates - 250000 88.677 ms/op 98.574 ms/op 0.90
BeaconState.hashTreeRoot - No change 500.00 ns/op 481.00 ns/op 1.04
BeaconState.hashTreeRoot - 1 full validator 74.533 us/op 139.86 us/op 0.53
BeaconState.hashTreeRoot - 32 full validator 734.08 us/op 1.4851 ms/op 0.49
BeaconState.hashTreeRoot - 512 full validator 8.3598 ms/op 10.310 ms/op 0.81
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 132.69 us/op 139.02 us/op 0.95
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.8312 ms/op 2.0631 ms/op 0.89
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 23.432 ms/op 24.545 ms/op 0.95
BeaconState.hashTreeRoot - 1 balances 96.485 us/op 112.43 us/op 0.86
BeaconState.hashTreeRoot - 32 balances 749.06 us/op 1.0818 ms/op 0.69
BeaconState.hashTreeRoot - 512 balances 8.4746 ms/op 9.2870 ms/op 0.91
BeaconState.hashTreeRoot - 250000 balances 147.80 ms/op 158.65 ms/op 0.93
aggregationBits - 2048 els - zipIndexesInBitList 20.461 us/op 20.604 us/op 0.99
byteArrayEquals 32 48.408 ns/op 47.152 ns/op 1.03
Buffer.compare 32 15.830 ns/op 14.988 ns/op 1.06
byteArrayEquals 1024 1.2538 us/op 1.2430 us/op 1.01
Buffer.compare 1024 27.423 ns/op 22.168 ns/op 1.24
byteArrayEquals 16384 19.969 us/op 19.570 us/op 1.02
Buffer.compare 16384 173.95 ns/op 164.42 ns/op 1.06
byteArrayEquals 123687377 154.32 ms/op 147.01 ms/op 1.05
Buffer.compare 123687377 5.8228 ms/op 5.2802 ms/op 1.10
byteArrayEquals 32 - diff last byte 46.411 ns/op 46.589 ns/op 1.00
Buffer.compare 32 - diff last byte 15.408 ns/op 15.339 ns/op 1.00
byteArrayEquals 1024 - diff last byte 1.2535 us/op 1.2347 us/op 1.02
Buffer.compare 1024 - diff last byte 23.783 ns/op 24.990 ns/op 0.95
byteArrayEquals 16384 - diff last byte 19.945 us/op 19.649 us/op 1.02
Buffer.compare 16384 - diff last byte 175.25 ns/op 163.66 ns/op 1.07
byteArrayEquals 123687377 - diff last byte 149.15 ms/op 149.03 ms/op 1.00
Buffer.compare 123687377 - diff last byte 3.9744 ms/op 5.3362 ms/op 0.74
byteArrayEquals 32 - random bytes 4.8950 ns/op 4.8990 ns/op 1.00
Buffer.compare 32 - random bytes 16.663 ns/op 15.549 ns/op 1.07
byteArrayEquals 1024 - random bytes 4.9040 ns/op 4.8630 ns/op 1.01
Buffer.compare 1024 - random bytes 16.343 ns/op 15.286 ns/op 1.07
byteArrayEquals 16384 - random bytes 4.8700 ns/op 4.8540 ns/op 1.00
Buffer.compare 16384 - random bytes 16.288 ns/op 15.343 ns/op 1.06
byteArrayEquals 123687377 - random bytes 7.6800 ns/op 7.7300 ns/op 0.99
Buffer.compare 123687377 - random bytes 19.730 ns/op 18.160 ns/op 1.09
regular array get 100000 times 30.818 us/op 30.522 us/op 1.01
wrappedArray get 100000 times 30.810 us/op 30.516 us/op 1.01
arrayWithProxy get 100000 times 10.011 ms/op 10.482 ms/op 0.96
ssz.Root.equals 43.779 ns/op 43.237 ns/op 1.01
byteArrayEquals 38.769 ns/op 42.634 ns/op 0.91
Buffer.compare 9.7200 ns/op 8.8770 ns/op 1.09
shuffle list - 16384 els 5.4293 ms/op 5.4660 ms/op 0.99
shuffle list - 250000 els 80.956 ms/op 80.222 ms/op 1.01
processSlot - 1 slots 11.281 us/op 13.947 us/op 0.81
processSlot - 32 slots 2.8121 ms/op 3.6361 ms/op 0.77
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 40.975 ms/op 43.019 ms/op 0.95
getCommitteeAssignments - req 1 vs - 250000 vc 1.8325 ms/op 1.8392 ms/op 1.00
getCommitteeAssignments - req 100 vs - 250000 vc 3.5209 ms/op 3.6064 ms/op 0.98
getCommitteeAssignments - req 1000 vs - 250000 vc 3.7846 ms/op 3.8682 ms/op 0.98
findModifiedValidators - 10000 modified validators 261.03 ms/op 229.25 ms/op 1.14
findModifiedValidators - 1000 modified validators 164.96 ms/op 140.19 ms/op 1.18
findModifiedValidators - 100 modified validators 167.00 ms/op 131.02 ms/op 1.27
findModifiedValidators - 10 modified validators 163.12 ms/op 140.21 ms/op 1.16
findModifiedValidators - 1 modified validators 148.38 ms/op 128.24 ms/op 1.16
findModifiedValidators - no difference 159.00 ms/op 133.35 ms/op 1.19
compare ViewDUs 3.2967 s/op 3.4315 s/op 0.96
compare each validator Uint8Array 1.6430 s/op 1.5074 s/op 1.09
compare ViewDU to Uint8Array 1.0575 s/op 631.90 ms/op 1.67
migrate state 1000000 validators, 24 modified, 0 new 607.04 ms/op 580.48 ms/op 1.05
migrate state 1000000 validators, 1700 modified, 1000 new 862.70 ms/op 706.14 ms/op 1.22
migrate state 1000000 validators, 3400 modified, 2000 new 934.15 ms/op 763.97 ms/op 1.22
migrate state 1500000 validators, 24 modified, 0 new 540.03 ms/op 513.72 ms/op 1.05
migrate state 1500000 validators, 1700 modified, 1000 new 839.64 ms/op 710.90 ms/op 1.18
migrate state 1500000 validators, 3400 modified, 2000 new 1.0238 s/op 931.38 ms/op 1.10
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.0100 ns/op 6.5400 ns/op 0.92
state getBlockRootAtSlot - 250000 vs - 7PWei 730.58 ns/op 762.50 ns/op 0.96
computeProposers - vc 250000 6.2438 ms/op 5.7378 ms/op 1.09
computeEpochShuffling - vc 250000 82.274 ms/op 82.215 ms/op 1.00
getNextSyncCommittee - vc 250000 102.33 ms/op 99.000 ms/op 1.03
computeSigningRoot for AttestationData 29.672 us/op 21.746 us/op 1.36
hash AttestationData serialized data then Buffer.toString(base64) 1.1947 us/op 1.1830 us/op 1.01
toHexString serialized data 819.17 ns/op 756.19 ns/op 1.08
Buffer.toString(base64) 147.58 ns/op 131.19 ns/op 1.12

by benchmarkbot/action

RELEASE.md Outdated
- Merge `chore: v1.1.1 release` PR to stable **with "merge commit"** strategy to preserve all history.
- Merge stable `stable` into `unstable` **with merge commit** strategy. Due to branch protections in `unstable` must open a PR. If there are conflicts, those must be resolved manually. Gitflow may cause changes that conflict between stable and unstable, for example due to a hotfix that is backported. If that happens, disable branch protections in unstable, merge locally fixing conflicts, run lint + tests, push, and re-enable branch protections. See "Backporting merge conflicts from stable to unstable".

#### Backporting merge conflicts from stable to unstable
Copy link
Member

Choose a reason for hiding this comment

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

This section applies to both hotfix releases and normal releases. Consider moving to an appendix or duplicating for both lists.

Copy link
Member Author

Choose a reason for hiding this comment

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

I considered this, but instead of jumping back and forth between different parts of the doc for a minor bump vs hotfix bump, it would be easier to lay it out the process sequentially, even if some of it is repetitive. This way if you're doing a hotfix bump, you can just stick to that section.

RELEASE.md Outdated Show resolved Hide resolved
RELEASE.md Outdated Show resolved Hide resolved
RELEASE.md Outdated Show resolved Hide resolved
philknows and others added 3 commits July 22, 2024 10:46
Co-authored-by: Cayman <caymannava@gmail.com>
Co-authored-by: Cayman <caymannava@gmail.com>
@philknows philknows marked this pull request as ready for review July 24, 2024 18:55
@philknows philknows requested a review from a team as a code owner July 24, 2024 18:55
@philknows
Copy link
Member Author

Ready for final reviews if required.

RELEASE.md Outdated Show resolved Hide resolved
RELEASE.md Outdated Show resolved Hide resolved
RELEASE.md Outdated Show resolved Hide resolved
RELEASE.md Show resolved Hide resolved
RELEASE.md Outdated Show resolved Hide resolved
Co-authored-by: Nico Flaig <nflaig@protonmail.com>
@philknows philknows merged commit 30b8a23 into unstable Jul 29, 2024
18 of 20 checks passed
@philknows philknows deleted the philknows/add-release-instructions branch July 29, 2024 14:35
@wemeetagain
Copy link
Member

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