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

Release v1.5.0 #5212

Merged
merged 12 commits into from
Feb 27, 2023
Merged

Release v1.5.0 #5212

merged 12 commits into from
Feb 27, 2023

Conversation

wemeetagain
Copy link
Member

No description provided.

wemeetagain and others added 12 commits February 27, 2023 13:50
)

* Add validatior option to specify builder block selection strategy

* cleanup and improvements

* server api fx

* fix test

* fix the testcase
* Cache and retransmit bls changes if submitted early

* regossip when synced on/post capella

* fix tests

* modify publish vs cache condition

* add logging

* add error logging

* batchify the processing

* fix some of the cases

* fix log issues

* also delete included keys

* fix lint

* simplify gossip loop

* fix build

* refac to a versioned bls change store

* update

* logging improvements

* improve logging and finish behavior

* cleanup
…5027)

* Add execution payload header to light client header capella onwards

* add more forks

* add allfork types

* make other types multifork

* make events multifork compatible

* make lightclient routes multifork

* update light-client transport

* upgrade the blocktype on lightclient server import block

* fixes

* fix test

* fix event serialization/deserilization type

* update proof constants

* fix payload index

* update the light client update generation to multi fork

* fix types

* add spec override to pass specs

* make event types allforks

* make req/resp multifork

* make types multifork throughout

* fix the update serialize/deserialize

* fix error log

* better fork determination for update

* fix the fork of finalized

* fix tests

* fix header upgradation
* Fix gossiping blsChange on submit if post capella

* comment improvement
@wemeetagain wemeetagain requested a review from a team as a code owner February 27, 2023 19:09
@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 3f8dc05 Previous: - Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.1172 ms/op
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 61.659 us/op
BLS verify - blst-native 2.1761 ms/op
BLS verifyMultipleSignatures 3 - blst-native 4.4874 ms/op
BLS verifyMultipleSignatures 8 - blst-native 9.7228 ms/op
BLS verifyMultipleSignatures 32 - blst-native 35.339 ms/op
BLS aggregatePubkeys 32 - blst-native 46.572 us/op
BLS aggregatePubkeys 128 - blst-native 182.12 us/op
getAttestationsForBlock 81.616 ms/op
isKnown best case - 1 super set check 495.00 ns/op
isKnown normal case - 2 super set checks 477.00 ns/op
isKnown worse case - 16 super set checks 478.00 ns/op
CheckpointStateCache - add get delete 8.2390 us/op
validate gossip signedAggregateAndProof - struct 5.0195 ms/op
validate gossip attestation - struct 2.3615 ms/op
pickEth1Vote - no votes 2.5733 ms/op
pickEth1Vote - max votes 18.291 ms/op
pickEth1Vote - Eth1Data hashTreeRoot value x2048 13.878 ms/op
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 21.846 ms/op
pickEth1Vote - Eth1Data fastSerialize value x2048 1.1725 ms/op
pickEth1Vote - Eth1Data fastSerialize tree x2048 10.744 ms/op
bytes32 toHexString 1.0990 us/op
bytes32 Buffer.toString(hex) 686.00 ns/op
bytes32 Buffer.toString(hex) from Uint8Array 1.0580 us/op
bytes32 Buffer.toString(hex) + 0x 704.00 ns/op
Object access 1 prop 0.28400 ns/op
Map access 1 prop 0.26400 ns/op
Object get x1000 11.294 ns/op
Map get x1000 0.94500 ns/op
Object set x1000 78.155 ns/op
Map set x1000 48.551 ns/op
Return object 10000 times 0.44030 ns/op
Throw Error 10000 times 6.7694 us/op
fastMsgIdFn sha256 / 200 bytes 4.9330 us/op
fastMsgIdFn h32 xxhash / 200 bytes 569.00 ns/op
fastMsgIdFn h64 xxhash / 200 bytes 760.00 ns/op
fastMsgIdFn sha256 / 1000 bytes 16.005 us/op
fastMsgIdFn h32 xxhash / 1000 bytes 731.00 ns/op
fastMsgIdFn h64 xxhash / 1000 bytes 830.00 ns/op
fastMsgIdFn sha256 / 10000 bytes 136.80 us/op
fastMsgIdFn h32 xxhash / 10000 bytes 2.6250 us/op
fastMsgIdFn h64 xxhash / 10000 bytes 1.8200 us/op
enrSubnets - fastDeserialize 64 bits 2.7210 us/op
enrSubnets - ssz BitVector 64 bits 980.00 ns/op
enrSubnets - fastDeserialize 4 bits 364.00 ns/op
enrSubnets - ssz BitVector 4 bits 980.00 ns/op
prioritizePeers score -10:0 att 32-0.1 sync 2-0 152.87 us/op
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 163.78 us/op
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 259.14 us/op
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 446.42 us/op
prioritizePeers score 0:0 att 64-1 sync 4-1 498.89 us/op
array of 16000 items push then shift 51.653 us/op
LinkedList of 16000 items push then shift 12.960 ns/op
array of 16000 items push then pop 195.20 ns/op
LinkedList of 16000 items push then pop 12.453 ns/op
array of 24000 items push then shift 77.422 us/op
LinkedList of 24000 items push then shift 13.339 ns/op
array of 24000 items push then pop 199.67 ns/op
LinkedList of 24000 items push then pop 12.530 ns/op
intersect bitArray bitLen 8 21.766 ns/op
intersect array and set length 8 140.24 ns/op
intersect bitArray bitLen 128 72.165 ns/op
intersect array and set length 128 1.7383 us/op
Buffer.concat 32 items 5.2030 us/op
Uint8Array.set 32 items 3.8060 us/op
pass gossip attestations to forkchoice per slot 3.6597 ms/op
computeDeltas 4.9711 ms/op
computeProposerBoostScoreFromBalances 2.4962 ms/op
altair processAttestation - 250000 vs - 7PWei normalcase 3.7870 ms/op
altair processAttestation - 250000 vs - 7PWei worstcase 6.7202 ms/op
altair processAttestation - setStatus - 1/6 committees join 175.33 us/op
altair processAttestation - setStatus - 1/3 committees join 351.34 us/op
altair processAttestation - setStatus - 1/2 committees join 506.81 us/op
altair processAttestation - setStatus - 2/3 committees join 670.08 us/op
altair processAttestation - setStatus - 4/5 committees join 936.31 us/op
altair processAttestation - setStatus - 100% committees join 1.1249 ms/op
altair processBlock - 250000 vs - 7PWei normalcase 23.791 ms/op
altair processBlock - 250000 vs - 7PWei normalcase hashState 37.703 ms/op
altair processBlock - 250000 vs - 7PWei worstcase 80.046 ms/op
altair processBlock - 250000 vs - 7PWei worstcase hashState 101.98 ms/op
phase0 processBlock - 250000 vs - 7PWei normalcase 3.9808 ms/op
phase0 processBlock - 250000 vs - 7PWei worstcase 55.424 ms/op
altair processEth1Data - 250000 vs - 7PWei normalcase 721.31 us/op
vc - 250000 eb 1 eth1 1 we 0 wn 0 - smpl 15 8.0520 us/op
vc - 250000 eb 0.95 eth1 0.1 we 0.05 wn 0 - smpl 219 24.898 us/op
vc - 250000 eb 0.95 eth1 0.3 we 0.05 wn 0 - smpl 42 9.9300 us/op
vc - 250000 eb 0.95 eth1 0.7 we 0.05 wn 0 - smpl 18 7.4780 us/op
vc - 250000 eb 0.1 eth1 0.1 we 0 wn 0 - smpl 1020 90.911 us/op
vc - 250000 eb 0.03 eth1 0.03 we 0 wn 0 - smpl 11777 886.55 us/op
vc - 250000 eb 0.01 eth1 0.01 we 0 wn 0 - smpl 16384 1.1816 ms/op
vc - 250000 eb 0 eth1 0 we 0 wn 0 - smpl 16384 1.1468 ms/op
vc - 250000 eb 0 eth1 0 we 0 wn 0 nocache - smpl 16384 4.1327 ms/op
vc - 250000 eb 0 eth1 1 we 0 wn 0 - smpl 16384 2.4824 ms/op
vc - 250000 eb 0 eth1 1 we 0 wn 0 nocache - smpl 16384 7.2946 ms/op
Tree 40 250000 create 708.07 ms/op
Tree 40 250000 get(125000) 236.84 ns/op
Tree 40 250000 set(125000) 2.2074 us/op
Tree 40 250000 toArray() 27.690 ms/op
Tree 40 250000 iterate all - toArray() + loop 27.993 ms/op
Tree 40 250000 iterate all - get(i) 99.969 ms/op
MutableVector 250000 create 14.860 ms/op
MutableVector 250000 get(125000) 11.027 ns/op
MutableVector 250000 set(125000) 629.38 ns/op
MutableVector 250000 toArray() 5.8440 ms/op
MutableVector 250000 iterate all - toArray() + loop 6.1715 ms/op
MutableVector 250000 iterate all - get(i) 2.9441 ms/op
Array 250000 create 5.7024 ms/op
Array 250000 clone - spread 3.0191 ms/op
Array 250000 get(125000) 1.2690 ns/op
Array 250000 set(125000) 1.2160 ns/op
Array 250000 iterate all - loop 150.97 us/op
effectiveBalanceIncrements clone Uint8Array 300000 54.359 us/op
effectiveBalanceIncrements clone MutableVector 300000 841.00 ns/op
effectiveBalanceIncrements rw all Uint8Array 300000 243.93 us/op
effectiveBalanceIncrements rw all MutableVector 300000 178.84 ms/op
phase0 afterProcessEpoch - 250000 vs - 7PWei 186.69 ms/op
phase0 beforeProcessEpoch - 250000 vs - 7PWei 56.404 ms/op
altair processEpoch - mainnet_e81889 541.29 ms/op
mainnet_e81889 - altair beforeProcessEpoch 141.05 ms/op
mainnet_e81889 - altair processJustificationAndFinalization 17.209 us/op
mainnet_e81889 - altair processInactivityUpdates 8.9819 ms/op
mainnet_e81889 - altair processRewardsAndPenalties 76.658 ms/op
mainnet_e81889 - altair processRegistryUpdates 2.8590 us/op
mainnet_e81889 - altair processSlashings 573.00 ns/op
mainnet_e81889 - altair processEth1DataReset 514.00 ns/op
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.9951 ms/op
mainnet_e81889 - altair processSlashingsReset 4.1520 us/op
mainnet_e81889 - altair processRandaoMixesReset 4.0400 us/op
mainnet_e81889 - altair processHistoricalRootsUpdate 543.00 ns/op
mainnet_e81889 - altair processParticipationFlagUpdates 1.7770 us/op
mainnet_e81889 - altair processSyncCommitteeUpdates 557.00 ns/op
mainnet_e81889 - altair afterProcessEpoch 196.65 ms/op
phase0 processEpoch - mainnet_e58758 485.46 ms/op
mainnet_e58758 - phase0 beforeProcessEpoch 189.62 ms/op
mainnet_e58758 - phase0 processJustificationAndFinalization 17.784 us/op
mainnet_e58758 - phase0 processRewardsAndPenalties 109.89 ms/op
mainnet_e58758 - phase0 processRegistryUpdates 7.6800 us/op
mainnet_e58758 - phase0 processSlashings 491.00 ns/op
mainnet_e58758 - phase0 processEth1DataReset 520.00 ns/op
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.1567 ms/op
mainnet_e58758 - phase0 processSlashingsReset 3.2870 us/op
mainnet_e58758 - phase0 processRandaoMixesReset 4.2230 us/op
mainnet_e58758 - phase0 processHistoricalRootsUpdate 560.00 ns/op
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.5470 us/op
mainnet_e58758 - phase0 afterProcessEpoch 161.85 ms/op
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.9414 ms/op
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.1891 ms/op
altair processInactivityUpdates - 250000 normalcase 41.458 ms/op
altair processInactivityUpdates - 250000 worstcase 33.183 ms/op
phase0 processRegistryUpdates - 250000 normalcase 6.3970 us/op
phase0 processRegistryUpdates - 250000 badcase_full_deposits 371.55 us/op
phase0 processRegistryUpdates - 250000 worstcase 0.5 172.70 ms/op
altair processRewardsAndPenalties - 250000 normalcase 76.778 ms/op
altair processRewardsAndPenalties - 250000 worstcase 106.64 ms/op
phase0 getAttestationDeltas - 250000 normalcase 12.539 ms/op
phase0 getAttestationDeltas - 250000 worstcase 12.512 ms/op
phase0 processSlashings - 250000 worstcase 5.4043 ms/op
altair processSyncCommitteeUpdates - 250000 290.07 ms/op
BeaconState.hashTreeRoot - No change 548.00 ns/op
BeaconState.hashTreeRoot - 1 full validator 72.107 us/op
BeaconState.hashTreeRoot - 32 full validator 721.05 us/op
BeaconState.hashTreeRoot - 512 full validator 7.1048 ms/op
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 92.550 us/op
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.2638 ms/op
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 17.654 ms/op
BeaconState.hashTreeRoot - 1 balances 69.519 us/op
BeaconState.hashTreeRoot - 32 balances 644.90 us/op
BeaconState.hashTreeRoot - 512 balances 6.4692 ms/op
BeaconState.hashTreeRoot - 250000 balances 97.078 ms/op
aggregationBits - 2048 els - zipIndexesInBitList 25.717 us/op
regular array get 100000 times 60.530 us/op
wrappedArray get 100000 times 60.518 us/op
arrayWithProxy get 100000 times 26.625 ms/op
ssz.Root.equals 909.00 ns/op
byteArrayEquals 918.00 ns/op
shuffle list - 16384 els 11.391 ms/op
shuffle list - 250000 els 168.20 ms/op
processSlot - 1 slots 13.154 us/op
processSlot - 32 slots 1.9605 ms/op
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 323.98 us/op
getCommitteeAssignments - req 1 vs - 250000 vc 5.4355 ms/op
getCommitteeAssignments - req 100 vs - 250000 vc 7.9524 ms/op
getCommitteeAssignments - req 1000 vs - 250000 vc 8.5336 ms/op
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 7.6100 ns/op
state getBlockRootAtSlot - 250000 vs - 7PWei 1.3597 us/op
computeProposers - vc 250000 17.573 ms/op
computeEpochShuffling - vc 250000 171.40 ms/op
getNextSyncCommittee - vc 250000 287.52 ms/op

by benchmarkbot/action

@wemeetagain wemeetagain merged commit 77d3ce6 into stable Feb 27, 2023
@wemeetagain wemeetagain deleted the rc/v1.5.0 branch February 27, 2023 22:45
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.

4 participants