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: release v1.11.0 #5912

Merged
merged 50 commits into from
Aug 29, 2023
Merged

chore: release v1.11.0 #5912

merged 50 commits into from
Aug 29, 2023

Conversation

wemeetagain
Copy link
Member

No description provided.

g11tech and others added 30 commits August 2, 2023 19:28
* feat: add broadcast validation to the block publishing

* add basic broadcast validation

* cleanup

* fix tracking

* cleanup

* fix e2e errors

* make broadcast validation optional

* logging improvs and fix test

* resolve error

* undo validator changes as per feedback
* chore: ensureWithinWeakSubjectivityPeriod

* fix: error message
Ensure bn Buckets are sorted and unique
* feat: up worker maxYoungGenerationSizeMb to 32

* feat: up worker maxYoungGenerationSizeMb to 64

* feat(dashboards): update memory panels on vm/host

* feat(network-worker): update new space to 512mb

* fix(dashboard): add newline to end of file

* fix(dashboard): lint vm

* fix: dashboard lint

* feat(network-worker): maxYoungGenerationSizeMb to 128mb

* fix(beacon-node): revert worker memory changes

* fix(dashboards): show metrics if worker is enable or if not

* fix(dashboards): remove duplicates

* chore: lint dashboards
* Improve the error handling for execution error

* Add transition unit tests cases

* Fix fetch error usage

* Update the error test cases

* Update the comments

* Update code with feedback

* Add brief information to logging

* Fix the types

* Fix linter error

* Update variable and type names
…te (#5862)

* fix: move and fix execution engine state update checks for online state

* Fix the state change

---------

Co-authored-by: Nazar Hussain <nazarhussain@gmail.com>
* Default confirm to exit prompt to No

* Add warning that this operation is irreversible
* Free the blobs

fix the types

rejig the new constants in params

add comment for cleanup

update reqresp

fix api package

rename blobs repo

commit the wip modifications

further appropriate renaming

further references update

further reference updates

continue refac

fix reqresp build

further refac

further refac

fix api

fix db interface

fix beacondb alloc

build

fix api

improve blob verificaion

correct validation call

fixes

fix the produce block/blobs flow

reduce diff

blob gossip validation

update validations

cleanup block vali

reduce diff

handle gossip of block and blob

fix test for timebeing

modify publishing flow

fix import flow

onsidecarbyrange fix and some type fixes

fix sidecars by root

prune blockinput cache

fix kzg interface

small renaming

interface rename

fix fetch blockmaybeblobs by range test

fix build lint issues for now

c-kzg version fix

FullOrBlindedBlobSidecar changes

fix tests

complete the blob publishing flow

fix test

get the single node run functional

get the gossip blob flow working

fix peer syncing using req/resp

fix sidecar by root check

refactor blobsidecars hotdb and remove archive

add blob gossip validation flow

fix topic

fix the validation condition

add blob validation and test various sync modes

fix tests

rebase fixes

enable deneb spec tests

make blobsbyroot multi block

fixes

cleanup defunt builder endpoint

archive blobs post finalization uptill the blob window

serve finalized blobs within the blob prune window

fix test

fix test

lookup in archive as well

cleanup and improvements

rebase fx

Add 4844 sim test and override the field elements per blob

update image

add blob test

add test run in package

start unknown sync and range sync

finalize the sims

change the signing flow

fix test types

fix tests

fix test

lint

update tx type and corresponding ethereumjs image

update c-kzg and use blobs bundle proof

fix test

fix test

merge getblobsbundle into getpayloadv3

update images

fix genesis config

rebase fixes

fix test

update images

fix tests

lint

fix the sidecar request count limit

fix test

lint

rebase fixes

cleanup

fix unit tests

update kzg to big endian

devnet 6 integration

fix passing setup arg

update path

fix tests

fix blobs sidecar by range response

cleanup blob import vals

reduce diff

cleanups

disable blob sim tests till spec stablizes

handle blob bytes in blockinput

fixes

* apply feedback

* add todo for pre-emptive block/blobs pull

* rebase fix
fix: reset gossip-hi param to 12
* Add fixes to support web3.js 4x version

* Update package depndencies

* Fix tests with new json-rpc type fix

* Fix ehters promise return

* Fix e2e tests
* chore!: update target to es2021

* chore: update ES Version badges
feat(dashboards): fix event loop lag panels
* Unpin genesis and bootnode file URLs

* Update hard coded bootnode ENRs

* Update network.connectToDiscv5Bootnodes flag description

* Deduplicate combined bootnodes from different sources
* chore: update computeDeltas perf test

* perf: avoid too many short lived objects in computeDeltas

* chore: more tests for different vaildator number

* chore: add protoNodes param to computeDeltas test

* chore: update updateHead perf test with 1 day of unfinalized blocks

* fix: improve nodeIsViableForHead for ProtoArray

* chore: create cached indices inside computeDeltas()

* chore: revise comments
fix: require node >=18.17.0 or >=20.1.0 to fix native fetch memory leak
* feat: limit incoming connections to lodestar

* chore: revise comment
* feat: implement IndexedGossipQueue, LinearGossipQueue

* feat: add deleteFirst() and deleteLast() to LinkedList

* feat: use LinkedList inside OrderedSet

* chore: fix lint in beacon-node

* chore: dedup runsFactor

* feat: implement IndexedGossipQueueAvgTime
* chore: handle native fetch timeout error

* Type safe error name checks

* Abort signal immediately to fix race condition of tests

* Define signals in tests cases
…on (#5831)

* feat: send and use validators fee recipient for block production

* fix tests

* mock tests that fee recipients are correctly passed

* improve logging

* add more info

* add more info
nazarhussain and others added 20 commits August 14, 2023 10:34
* Restructure the unit tests for logger

* Add browser tests support

* Move logger test utils to relevant package
* feat: forkchoice to track head vote by proto index

* fix: pass proto array length to computeDeltas()

* fix: set vote index to null for out of date vote

* fix: handle no vote in prune()

* chore: fastest way to create deltas array
* chore: update discv5 and deps

* chore: remove varint dependency

* fix: fix stray import

* chore: consistent naming
* Add functions to encode / decode base64

* Move URL validation function to utils package

* Improve URL validation and fail on startup

* Set user credentials in URL as Authorization header

* Improve monitoring endpoint validation errors

* Fix http client fallback tests

* Always remove username and password from URL
* Add support for multi client sim tests

* Add support for multi client sim tests

* Decouple beacon and validator

* Fix lint errors

* Update name for ports

* Update the validator optional case

* Update the valdiator to connect in private network

* Fix private engine url

* Fix nethermind cli args typo

* Fix genesis state for nodes

* Fix the host url for docker

* Disable the multi client test

* Fix the client options

* Update the client options

* Update the tracker to stop printing progress when stopped
* feat: validate gossip attestations same att data in batch

* feat: consume bls verifySignatureSetsSameMessage api

* chore: metrics to count percent of attestations batched

* feat: add minSameMessageSignatureSetsToBatch flag

* chore: remove unused metrics

* feat: chain.beaconAttestationBatchValidation cli option

* fix: create worker with defaultPoolSize - 1

* feat: enforce each queue item 50ms old

* chore: switch back to regular Map in IndexedGossipQueueMinSize

* fix: network.beaconAttestationBatchValidation flag

* fix: useFakeTimer in beforeEach

* fix: address attDataBase64 for both linear & indexed queues

* refactor: add getBatchHandlers

* fix: block event handler in the next event loop

* chore: refactor GossipHandlers type

* chore: set min and max batch to 32 & 128

* fix: for await in validateGossipAttestationsSameAttData

* chore: refactor phase* in batch function to step*

* fix: add and use blsPoolSize which is defaultPoolSize - 1

* chore: address PR comments

* feat: more metrics for the IndexedGossipQueue
* chore: update gossipsub to 10.1.0

* fix: gossipsub debug dashboard - IGNORE/REJECTED/UNKNOWN metrics

---------

Co-authored-by: Tuyen Nguyen <vutuyen2636@gmail.com>
* feat: add bootnode cli

* chore: clean up bootnode handler

* feat: clean up options and startup sequence
* feat: add holesky network

* fix url
* feat: track time to form stable mesh for aggregator duties

* fix: set time to stable mesh -1 if not able to form stable mesh within 2 slots
* feat: api to take profile of main thread

* feat: take profile of discv5 thread
Update Capella fork epoch on Holesky
* feat: up worker maxYoungGenerationSizeMb to 32

* feat: up worker maxYoungGenerationSizeMb to 64

* feat(dashboards): update memory panels on vm/host

* feat(network-worker): update new space to 512mb

* fix(dashboard): add newline to end of file

* fix(dashboard): lint vm

* feat: up worker maxYoungGenerationSizeMb to 32

* feat: up worker maxYoungGenerationSizeMb to 64

* feat(dashboards): update memory panels on vm/host

* feat(network-worker): update new space to 512mb

* fix(dashboard): add newline to end of file

* fix(dashboard): lint vm

* fix: dashboard lint

* feat(network-worker): maxYoungGenerationSizeMb to 128mb

* fix(dashboards): revert dashboard changes

* fix: revert changes to dashboard and package.json

* feat(network-worker): use young generation value from research

* feat(cli): add hidden maxYoungGenerationSizeMb

* fix: update bad merge conflict resolution

* fix: update bad merge conflict resolution

* chore: lint --fix code
@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: dbdd444 Previous: - Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 608.97 us/op
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 75.681 us/op
BLS verify - blst-native 1.2963 ms/op
BLS verifyMultipleSignatures 3 - blst-native 2.7172 ms/op
BLS verifyMultipleSignatures 8 - blst-native 6.0857 ms/op
BLS verifyMultipleSignatures 32 - blst-native 22.003 ms/op
BLS verifyMultipleSignatures 64 - blst-native 42.776 ms/op
BLS verifyMultipleSignatures 128 - blst-native 86.218 ms/op
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.2760 ms/op
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.4716 ms/op
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.2730 ms/op
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.2114 ms/op
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.3166 ms/op
BLS aggregatePubkeys 32 - blst-native 24.130 us/op
BLS aggregatePubkeys 128 - blst-native 96.532 us/op
getAttestationsForBlock 34.670 ms/op
isKnown best case - 1 super set check 290.00 ns/op
isKnown normal case - 2 super set checks 334.00 ns/op
isKnown worse case - 16 super set checks 281.00 ns/op
CheckpointStateCache - add get delete 5.2710 us/op
validate api signedAggregateAndProof - struct 2.8697 ms/op
validate gossip signedAggregateAndProof - struct 2.8452 ms/op
validate gossip attestation - vc 640000 1.3580 ms/op
batch validate gossip attestation - vc 640000 - chunk 32 147.86 us/op
batch validate gossip attestation - vc 640000 - chunk 64 130.68 us/op
batch validate gossip attestation - vc 640000 - chunk 128 118.77 us/op
batch validate gossip attestation - vc 640000 - chunk 256 111.40 us/op
pickEth1Vote - no votes 1.1139 ms/op
pickEth1Vote - max votes 10.437 ms/op
pickEth1Vote - Eth1Data hashTreeRoot value x2048 8.2418 ms/op
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 13.048 ms/op
pickEth1Vote - Eth1Data fastSerialize value x2048 601.82 us/op
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.6185 ms/op
bytes32 toHexString 471.00 ns/op
bytes32 Buffer.toString(hex) 282.00 ns/op
bytes32 Buffer.toString(hex) from Uint8Array 433.00 ns/op
bytes32 Buffer.toString(hex) + 0x 282.00 ns/op
Object access 1 prop 0.14500 ns/op
Map access 1 prop 0.14200 ns/op
Object get x1000 7.1710 ns/op
Map get x1000 0.58700 ns/op
Object set x1000 46.508 ns/op
Map set x1000 36.844 ns/op
Return object 10000 times 0.22910 ns/op
Throw Error 10000 times 3.6928 us/op
fastMsgIdFn sha256 / 200 bytes 3.1310 us/op
fastMsgIdFn h32 xxhash / 200 bytes 268.00 ns/op
fastMsgIdFn h64 xxhash / 200 bytes 334.00 ns/op
fastMsgIdFn sha256 / 1000 bytes 11.237 us/op
fastMsgIdFn h32 xxhash / 1000 bytes 389.00 ns/op
fastMsgIdFn h64 xxhash / 1000 bytes 408.00 ns/op
fastMsgIdFn sha256 / 10000 bytes 102.47 us/op
fastMsgIdFn h32 xxhash / 10000 bytes 1.9080 us/op
fastMsgIdFn h64 xxhash / 10000 bytes 1.3190 us/op
enrSubnets - fastDeserialize 64 bits 1.1650 us/op
enrSubnets - ssz BitVector 64 bits 405.00 ns/op
enrSubnets - fastDeserialize 4 bits 156.00 ns/op
enrSubnets - ssz BitVector 4 bits 406.00 ns/op
prioritizePeers score -10:0 att 32-0.1 sync 2-0 96.771 us/op
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 117.16 us/op
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 154.84 us/op
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 276.05 us/op
prioritizePeers score 0:0 att 64-1 sync 4-1 325.45 us/op
array of 16000 items push then shift 1.5965 us/op
LinkedList of 16000 items push then shift 8.8470 ns/op
array of 16000 items push then pop 72.162 ns/op
LinkedList of 16000 items push then pop 8.6500 ns/op
array of 24000 items push then shift 2.3570 us/op
LinkedList of 24000 items push then shift 8.8140 ns/op
array of 24000 items push then pop 93.836 ns/op
LinkedList of 24000 items push then pop 8.5600 ns/op
intersect bitArray bitLen 8 6.6950 ns/op
intersect array and set length 8 55.235 ns/op
intersect bitArray bitLen 128 31.620 ns/op
intersect array and set length 128 741.43 ns/op
bitArray.getTrueBitIndexes() bitLen 128 1.3520 us/op
bitArray.getTrueBitIndexes() bitLen 248 2.2640 us/op
bitArray.getTrueBitIndexes() bitLen 512 4.4280 us/op
Buffer.concat 32 items 908.00 ns/op
Uint8Array.set 32 items 2.3940 us/op
Set add up to 64 items then delete first 4.2052 us/op
OrderedSet add up to 64 items then delete first 5.2909 us/op
Set add up to 64 items then delete last 4.5651 us/op
OrderedSet add up to 64 items then delete last 5.6657 us/op
Set add up to 64 items then delete middle 4.5149 us/op
OrderedSet add up to 64 items then delete middle 6.9117 us/op
Set add up to 128 items then delete first 9.1883 us/op
OrderedSet add up to 128 items then delete first 12.201 us/op
Set add up to 128 items then delete last 8.9704 us/op
OrderedSet add up to 128 items then delete last 11.434 us/op
Set add up to 128 items then delete middle 9.4407 us/op
OrderedSet add up to 128 items then delete middle 16.541 us/op
Set add up to 256 items then delete first 18.625 us/op
OrderedSet add up to 256 items then delete first 24.871 us/op
Set add up to 256 items then delete last 17.863 us/op
OrderedSet add up to 256 items then delete last 23.074 us/op
Set add up to 256 items then delete middle 17.799 us/op
OrderedSet add up to 256 items then delete middle 45.813 us/op
transfer serialized Status (84 B) 1.8690 us/op
copy serialized Status (84 B) 1.5410 us/op
transfer serialized SignedVoluntaryExit (112 B) 2.0040 us/op
copy serialized SignedVoluntaryExit (112 B) 1.5410 us/op
transfer serialized ProposerSlashing (416 B) 2.9610 us/op
copy serialized ProposerSlashing (416 B) 2.9760 us/op
transfer serialized Attestation (485 B) 3.1950 us/op
copy serialized Attestation (485 B) 3.0390 us/op
transfer serialized AttesterSlashing (33232 B) 2.6710 us/op
copy serialized AttesterSlashing (33232 B) 5.5870 us/op
transfer serialized Small SignedBeaconBlock (128000 B) 2.7490 us/op
copy serialized Small SignedBeaconBlock (128000 B) 12.384 us/op
transfer serialized Avg SignedBeaconBlock (200000 B) 3.0410 us/op
copy serialized Avg SignedBeaconBlock (200000 B) 17.258 us/op
transfer serialized BlobsSidecar (524380 B) 3.0750 us/op
copy serialized BlobsSidecar (524380 B) 87.319 us/op
transfer serialized Big SignedBeaconBlock (1000000 B) 3.0040 us/op
copy serialized Big SignedBeaconBlock (1000000 B) 163.00 us/op
pass gossip attestations to forkchoice per slot 3.7888 ms/op
forkChoice updateHead vc 100000 bc 64 eq 0 655.86 us/op
forkChoice updateHead vc 600000 bc 64 eq 0 4.0697 ms/op
forkChoice updateHead vc 1000000 bc 64 eq 0 6.9954 ms/op
forkChoice updateHead vc 600000 bc 320 eq 0 4.1433 ms/op
forkChoice updateHead vc 600000 bc 1200 eq 0 4.2566 ms/op
forkChoice updateHead vc 600000 bc 7200 eq 0 5.1085 ms/op
forkChoice updateHead vc 600000 bc 64 eq 1000 11.156 ms/op
forkChoice updateHead vc 600000 bc 64 eq 10000 11.996 ms/op
forkChoice updateHead vc 600000 bc 64 eq 300000 15.090 ms/op
computeDeltas 500000 validators 300 proto nodes 6.1995 ms/op
computeDeltas 500000 validators 1200 proto nodes 6.1805 ms/op
computeDeltas 500000 validators 7200 proto nodes 6.2546 ms/op
computeDeltas 750000 validators 300 proto nodes 9.3745 ms/op
computeDeltas 750000 validators 1200 proto nodes 9.2907 ms/op
computeDeltas 750000 validators 7200 proto nodes 9.4009 ms/op
computeDeltas 1400000 validators 300 proto nodes 17.752 ms/op
computeDeltas 1400000 validators 1200 proto nodes 17.808 ms/op
computeDeltas 1400000 validators 7200 proto nodes 17.911 ms/op
computeDeltas 2100000 validators 300 proto nodes 26.721 ms/op
computeDeltas 2100000 validators 1200 proto nodes 27.106 ms/op
computeDeltas 2100000 validators 7200 proto nodes 27.279 ms/op
computeProposerBoostScoreFromBalances 500000 validators 3.3560 ms/op
computeProposerBoostScoreFromBalances 750000 validators 3.2962 ms/op
computeProposerBoostScoreFromBalances 1400000 validators 3.3231 ms/op
computeProposerBoostScoreFromBalances 2100000 validators 3.2809 ms/op
altair processAttestation - 250000 vs - 7PWei normalcase 2.3826 ms/op
altair processAttestation - 250000 vs - 7PWei worstcase 3.3308 ms/op
altair processAttestation - setStatus - 1/6 committees join 148.36 us/op
altair processAttestation - setStatus - 1/3 committees join 287.58 us/op
altair processAttestation - setStatus - 1/2 committees join 389.76 us/op
altair processAttestation - setStatus - 2/3 committees join 494.45 us/op
altair processAttestation - setStatus - 4/5 committees join 669.84 us/op
altair processAttestation - setStatus - 100% committees join 828.15 us/op
altair processBlock - 250000 vs - 7PWei normalcase 8.9432 ms/op
altair processBlock - 250000 vs - 7PWei normalcase hashState 16.723 ms/op
altair processBlock - 250000 vs - 7PWei worstcase 38.312 ms/op
altair processBlock - 250000 vs - 7PWei worstcase hashState 57.482 ms/op
phase0 processBlock - 250000 vs - 7PWei normalcase 2.7537 ms/op
phase0 processBlock - 250000 vs - 7PWei worstcase 30.643 ms/op
altair processEth1Data - 250000 vs - 7PWei normalcase 491.70 us/op
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 9.4010 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 51.513 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 17.712 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 11.579 us/op
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 157.01 us/op
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.1322 ms/op
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.4830 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.5296 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.2851 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.2085 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.0251 ms/op
Tree 40 250000 create 316.29 ms/op
Tree 40 250000 get(125000) 200.95 ns/op
Tree 40 250000 set(125000) 943.95 ns/op
Tree 40 250000 toArray() 17.906 ms/op
Tree 40 250000 iterate all - toArray() + loop 18.066 ms/op
Tree 40 250000 iterate all - get(i) 67.744 ms/op
MutableVector 250000 create 11.292 ms/op
MutableVector 250000 get(125000) 6.8010 ns/op
MutableVector 250000 set(125000) 228.03 ns/op
MutableVector 250000 toArray() 2.9591 ms/op
MutableVector 250000 iterate all - toArray() + loop 2.9826 ms/op
MutableVector 250000 iterate all - get(i) 1.5229 ms/op
Array 250000 create 2.5837 ms/op
Array 250000 clone - spread 936.26 us/op
Array 250000 get(125000) 0.47400 ns/op
Array 250000 set(125000) 0.54200 ns/op
Array 250000 iterate all - loop 82.315 us/op
effectiveBalanceIncrements clone Uint8Array 300000 21.756 us/op
effectiveBalanceIncrements clone MutableVector 300000 235.00 ns/op
effectiveBalanceIncrements rw all Uint8Array 300000 179.73 us/op
effectiveBalanceIncrements rw all MutableVector 300000 73.507 ms/op
phase0 afterProcessEpoch - 250000 vs - 7PWei 112.80 ms/op
phase0 beforeProcessEpoch - 250000 vs - 7PWei 37.977 ms/op
altair processEpoch - mainnet_e81889 343.08 ms/op
mainnet_e81889 - altair beforeProcessEpoch 73.457 ms/op
mainnet_e81889 - altair processJustificationAndFinalization 17.131 us/op
mainnet_e81889 - altair processInactivityUpdates 7.1674 ms/op
mainnet_e81889 - altair processRewardsAndPenalties 56.391 ms/op
mainnet_e81889 - altair processRegistryUpdates 2.6410 us/op
mainnet_e81889 - altair processSlashings 467.00 ns/op
mainnet_e81889 - altair processEth1DataReset 551.00 ns/op
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.4233 ms/op
mainnet_e81889 - altair processSlashingsReset 3.3620 us/op
mainnet_e81889 - altair processRandaoMixesReset 5.7110 us/op
mainnet_e81889 - altair processHistoricalRootsUpdate 697.00 ns/op
mainnet_e81889 - altair processParticipationFlagUpdates 2.0910 us/op
mainnet_e81889 - altair processSyncCommitteeUpdates 631.00 ns/op
mainnet_e81889 - altair afterProcessEpoch 128.73 ms/op
capella processEpoch - mainnet_e217614 1.0177 s/op
mainnet_e217614 - capella beforeProcessEpoch 234.05 ms/op
mainnet_e217614 - capella processJustificationAndFinalization 12.722 us/op
mainnet_e217614 - capella processInactivityUpdates 19.156 ms/op
mainnet_e217614 - capella processRewardsAndPenalties 283.66 ms/op
mainnet_e217614 - capella processRegistryUpdates 19.687 us/op
mainnet_e217614 - capella processSlashings 447.00 ns/op
mainnet_e217614 - capella processEth1DataReset 377.00 ns/op
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.0952 ms/op
mainnet_e217614 - capella processSlashingsReset 2.1140 us/op
mainnet_e217614 - capella processRandaoMixesReset 4.3410 us/op
mainnet_e217614 - capella processHistoricalRootsUpdate 615.00 ns/op
mainnet_e217614 - capella processParticipationFlagUpdates 2.8540 us/op
mainnet_e217614 - capella afterProcessEpoch 298.51 ms/op
phase0 processEpoch - mainnet_e58758 323.62 ms/op
mainnet_e58758 - phase0 beforeProcessEpoch 98.695 ms/op
mainnet_e58758 - phase0 processJustificationAndFinalization 16.172 us/op
mainnet_e58758 - phase0 processRewardsAndPenalties 42.731 ms/op
mainnet_e58758 - phase0 processRegistryUpdates 9.3500 us/op
mainnet_e58758 - phase0 processSlashings 458.00 ns/op
mainnet_e58758 - phase0 processEth1DataReset 414.00 ns/op
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 992.38 us/op
mainnet_e58758 - phase0 processSlashingsReset 2.1220 us/op
mainnet_e58758 - phase0 processRandaoMixesReset 3.8970 us/op
mainnet_e58758 - phase0 processHistoricalRootsUpdate 390.00 ns/op
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.6750 us/op
mainnet_e58758 - phase0 afterProcessEpoch 104.94 ms/op
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.2978 ms/op
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4519 ms/op
altair processInactivityUpdates - 250000 normalcase 21.418 ms/op
altair processInactivityUpdates - 250000 worstcase 23.118 ms/op
phase0 processRegistryUpdates - 250000 normalcase 9.1520 us/op
phase0 processRegistryUpdates - 250000 badcase_full_deposits 340.90 us/op
phase0 processRegistryUpdates - 250000 worstcase 0.5 122.87 ms/op
altair processRewardsAndPenalties - 250000 normalcase 71.541 ms/op
altair processRewardsAndPenalties - 250000 worstcase 66.376 ms/op
phase0 getAttestationDeltas - 250000 normalcase 7.9460 ms/op
phase0 getAttestationDeltas - 250000 worstcase 8.0856 ms/op
phase0 processSlashings - 250000 worstcase 2.2663 ms/op
altair processSyncCommitteeUpdates - 250000 149.22 ms/op
BeaconState.hashTreeRoot - No change 256.00 ns/op
BeaconState.hashTreeRoot - 1 full validator 51.735 us/op
BeaconState.hashTreeRoot - 32 full validator 511.19 us/op
BeaconState.hashTreeRoot - 512 full validator 5.8212 ms/op
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 66.473 us/op
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 888.58 us/op
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 11.359 ms/op
BeaconState.hashTreeRoot - 1 balances 50.132 us/op
BeaconState.hashTreeRoot - 32 balances 473.01 us/op
BeaconState.hashTreeRoot - 512 balances 4.4587 ms/op
BeaconState.hashTreeRoot - 250000 balances 75.943 ms/op
aggregationBits - 2048 els - zipIndexesInBitList 14.859 us/op
regular array get 100000 times 39.773 us/op
wrappedArray get 100000 times 32.591 us/op
arrayWithProxy get 100000 times 13.946 ms/op
ssz.Root.equals 202.00 ns/op
byteArrayEquals 195.00 ns/op
shuffle list - 16384 els 6.8263 ms/op
shuffle list - 250000 els 101.47 ms/op
processSlot - 1 slots 8.4850 us/op
processSlot - 32 slots 1.3214 ms/op
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 52.134 ms/op
getCommitteeAssignments - req 1 vs - 250000 vc 2.4898 ms/op
getCommitteeAssignments - req 100 vs - 250000 vc 3.7214 ms/op
getCommitteeAssignments - req 1000 vs - 250000 vc 4.0345 ms/op
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.4200 ns/op
state getBlockRootAtSlot - 250000 vs - 7PWei 775.11 ns/op
computeProposers - vc 250000 9.3041 ms/op
computeEpochShuffling - vc 250000 106.74 ms/op
getNextSyncCommittee - vc 250000 153.06 ms/op
computeSigningRoot for AttestationData 12.733 us/op
hash AttestationData serialized data then Buffer.toString(base64) 2.3323 us/op
toHexString serialized data 1.0483 us/op
Buffer.toString(base64) 217.67 ns/op

by benchmarkbot/action

@wemeetagain wemeetagain marked this pull request as ready for review August 29, 2023 16:06
@wemeetagain wemeetagain requested a review from a team as a code owner August 29, 2023 16:06
@wemeetagain wemeetagain merged commit 358c44d into stable Aug 29, 2023
@wemeetagain wemeetagain deleted the rc/v1.11.0 branch August 29, 2023 16:35
@twoeths
Copy link
Contributor

twoeths commented Aug 31, 2023

Persisting some metrics after 24h deploying on stable test mainnet node (this is 2 day range)

  • Gossip attestations are processed way faster
Screenshot 2023-08-31 at 08 32 31
  • Gossip Block is processed faster
Screenshot 2023-08-31 at 08 35 20
  • More mesh peers and more bandwidth
Screenshot 2023-08-31 at 08 34 03 Screenshot 2023-08-31 at 08 34 18
  • Way more gossip messages forwarded
Screenshot 2023-08-31 at 08 37 02

@twoeths
Copy link
Contributor

twoeths commented Aug 31, 2023

attaching profiles on a mainnet node subscribing to all subnets

v1.11.0_discv5_thread.cpuprofile.zip

v1.11.0_main_thread.cpuprofile.zip

v1.11.0_network_thread.cpuprofile.zip

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.

8 participants