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.19.0 #6818

Closed
wants to merge 50 commits into from
Closed

chore: release v1.19.0 #6818

wants to merge 50 commits into from

Conversation

wemeetagain
Copy link
Member

No description provided.

wemeetagain and others added 30 commits April 23, 2024 15:04
* feat: added binaries creation support

* feat: added sanity checks

* chore: define reusable workflow

* chore: fix sanity check,; disable arm64

* chore: added workflow_dispatch

* fix: needs cleanup

* chore: update old space size

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* chore: address comments

* chore: address comments

* chore: fixed typo

* chore: typo

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* chore: address comments

* chore: wording

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* chore: use frozen lock file

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* chore: update package.json deps and run yarn

* feat: remove unused blst config from vitest.browser.*.config.ts

* test: move G2@INF test to base blst repo.  No longer exported.

* fix: add Uint8Array.from for Buffer return value in unit test so type matches for toEqual

* refactor: update imports of CoordType to use bls instead of blst

* feat: add blsAddVerificationRandomness cli option

* feat: add randomBytesNonZero to utils

* feat: implement verification randomness for same message

* feat: implement napi blst and switch to libuv worker pool

* chore: lint

* fix: update comments for availableParallelism

* feat: set UV_THREADPOOL_SIZE for perf tests

* feat: set UV_THREADPOOL_SIZE=$(nproc) in lodestar entrance script

* feat: remove case for serialized PublicKey in deserializeSet

* feat: add back workBusy count logic to canAcceptWork

* feat: automatically set threadpool size in beaconHandler

* refactor: rename flag to disableSameMessageVerificationRandomness

* fix: remove UV_THREADPOOL_SIZE from ./lodestar

* docs: add TODO about updating metrics

* fix: make benchmark multi threading cross-compatible

* chore: add bls@8.0.0

* feat: default to added randomness

* feat: add warning for no same message randomness

* fix: passing to updated bls functions

* feat: add blst peerDep

* fix: default to same message randomness

* chore: update yarn.lock

* chore: remove unused function to clear lint

* feat: break out setThreadPoolSize

* docs: update packages/cli/src/cmds/beacon/setThreadPoolSize.ts

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* chore: update location for blst dep

* chore: run lint again

* fix: remove peerDep from light-client

* test: fix browser based tests

* fix: bad relative imports

* docs: add note to readme about switchable bls

* docs: typo

* chore: lint readme

* fix: light-client unit tests

* fix: light-client e2e test

* feat: remove disableSameMessageVerificationRandomness

* refactor: remove unused type

* docs: update wordlist

* fix: e2e tests

* Lint package.json

* Revert "fix: e2e tests"

This reverts commit f71acd7.

* Revert "fix: light-client e2e test"

This reverts commit 23c11f0.

* Revert "fix: light-client unit tests"

This reverts commit fa7893e.

* Revert "test: fix browser based tests"

This reverts commit 98d04ab.

* docs: update readme to remove switchable bls argument

* fix: replace optimizeDeps in vitest.browser.config

* chore: updated to bls 8.1.0

* feat: move setting threadpool size and warnings to applyPreset.ts

* fix: remove setThreadpoolSize from beacon handler

* feat: move libuv size logging into handler to use logger

* refactor: rename applyPreset to preInitialization

* refactor: logging about pool size

* Update packages/cli/src/options/globalOptions.ts

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* refactor: rename prover applyPreset

* docs: change comment in cli/index

* fix: update logging for

* fix: throw error for invalid uvThreadpoolSize

* Update packages/cli/src/preInitialization.ts

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* Fix lint issues

* Remove unused import

* refactor: move bls pool logging back to multithread.ts

* fix: log of threadcount

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* chore: update references to consensus spec to v1.4.0

* Remove unintended formatting changes
fix: correct plausible url
fix: incorrect scripts location
* fix: no more broken images

* fix: incorrect paths
…ssip validation (#6700)

* Add unit test

* Update packages/beacon-node/src/chain/validation/aggregateAndProof.ts

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* feat: add and track blob source for metrics

* adding blobsSource for blobsPromise

* address feedback

* apply feedback

* updates

* only allow non blobspromise blocks to be imported
* Reorganize the code so it is accessible from one package

* Add support for browser build for lightclient

* Update the build config

* Improve the bls vite plugin

* Restructure the vite and vitest scripts

* Simplify vite config

* Remove unused polyfill

* Fix the doc lint error

* Add support for bundle test

* Update the package json files

* Add dist build to default build task

* Fix spelling in the docs

* Fix the lint error

* Fix type error

* Disable eslint errors

* Increase the timeout for bundle test

* Fix eslint bundle

* Fix lint warning

* Remove the unused config

* Add the default export to bundle

* Enable compression on th build

* Update packages/light-client/README.md

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* Increase timeout for one test

* Optimize package build task

* Update the readme

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* chore: added paths-ignore

* chore: address comments
* feat: add arm64 binary support

* chore: workaround yarn

* chore: add comment

* chore: workaround runner limitations
* Add vite dts plugin

* Restructure types export

* Update vite build config

* Remove unused file

* Update the build process

* Fix doc formatting

* Build the dist for type tests
* feat: update libp2p deps

* chore: fix linter/type errors
Bumps [ejs](https://github.com/mde/ejs) from 3.1.9 to 3.1.10.
- [Release notes](https://github.com/mde/ejs/releases)
- [Commits](mde/ejs@v3.1.9...v3.1.10)

---
updated-dependencies:
- dependency-name: ejs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Revert "ci: add paths-ignore to workflows (#6713)"

This reverts commit e460bb1.
fix: incorrect build caching
* chore: warn when heap limit is too low

* chore: units

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* chore: address comments

* chore: added faq element

* chore: address comments

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* chore: address comments

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* chore: address comments

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* feat: disable flood publish

* feat: add network.disableFloodPublish cli flag

* chore: address PR comments
nazarhussain and others added 20 commits May 15, 2024 07:05
* Allow the compact diff for tests

* Update the doc

* Update docs/pages/contribution/testing/index.md

Co-authored-by: Julien <jeluard@users.noreply.github.com>

* Fix linting on docs

* Fix linting

---------

Co-authored-by: Julien <jeluard@users.noreply.github.com>
* chore: upgrade classic-level

* chore: address comments
)

* Restructure the assertions

* Add an inspector to run the logic to detect providers

* Update web3 provdier logic to use inspetor

* Fix the types for proxy

* Make the default type for mutation

* Rename elrpc to elrpcprovider

* Apply suggestions from code review

Co-authored-by: Julien <jeluard@users.noreply.github.com>

* Fix build error

* Update the readme doc

* Apply suggestions from code review

Co-authored-by: Julien <jeluard@users.noreply.github.com>

* Fix the docs linting

* Add missing words

---------

Co-authored-by: Julien <jeluard@users.noreply.github.com>
* docs: added debugging section

* chore: spell checks

* chore: added extra docs

* chore: address comments

* chore: added extra configuration

* chore: updated docs

* chore: added extra configuration

* chore: fix lint

* chore: fix typos

* chore: .gitignore

* chore: address comments

* chore: address comments
* Rename simulation test to crucible

* Rename SimulationEnvironment to Simulation

* Use consistent function names

* Update readme

* Rename interfaces for consistent pattern

* Fix lint error
* Add grandine

* add grandine to wordlist
* chore: refactor sleep(0) usage

* chore: refactor setTimeout

* chore: address comments

* chore: cleanup

* Apply suggestions from code review

---------

Co-authored-by: Cayman <caymannava@gmail.com>
* Check get_proposer_head

* Fix enum typo

* lint
* chore: do not rely on leveldown

* chore: replace level with classic-level
* chore: added docker support for osx

* chore: address comments

* chore: address comments

* Update docker-compose.yml

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* chore: address comments

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
Fix vitest performance with spec tests in place
* feat: use @chainsafe/blst directly

* chore: update to blst@1.0.1

* refactor: remove randomBytesNonZero and user blst exported version

* chore: update blst references

* test: catch invalid deserialization in spec tests and return false

* feat: create signatureFromBytes and signatureFromBytesNoCheck in utils package

* feat: implement signatureFromBytes from utils package

* feat: implement signatureFromBytes everywhere

* fix: light-client empty module for blst

---------

Co-authored-by: matthewkeil <me@matthewkeil.com>
* fix: avoid Buffer.from copies

* chore: simplify shuffling

* fix: use subarray instead of slice in shuffling

* chore: remove unnecessary devDependencies

* chore: rely on fastify 4.x behavior

* chore: avoid copy in verifyMerkleBranch

* use toBase64

* relax assertions in shuffle function

* Update packages/state-transition/src/util/shuffle.ts

Co-authored-by: twoeths <tuyen@chainsafe.io>

---------

Co-authored-by: twoeths <tuyen@chainsafe.io>
* Upgrade node js version to 22

* Update node types

* Revert action config

* Add package from git hash

* Fix the build error

* Update the docs for node-22

* Update docker version for Nodejs to 22

* Update package.json

* Update package.json

Co-authored-by: Nico Flaig <nflaig@protonmail.com>

* Update readme docs

* Add word in dictionary

* Add word in dictionary

---------

Co-authored-by: Cayman <caymannava@gmail.com>
Co-authored-by: Nico Flaig <nflaig@protonmail.com>
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 8ce6a89 Previous: - Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 729.26 us/op
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 65.233 us/op
BLS verify - blst-native 1.1950 ms/op
BLS verifyMultipleSignatures 3 - blst-native 2.6316 ms/op
BLS verifyMultipleSignatures 8 - blst-native 5.6119 ms/op
BLS verifyMultipleSignatures 32 - blst-native 20.971 ms/op
BLS verifyMultipleSignatures 64 - blst-native 40.303 ms/op
BLS verifyMultipleSignatures 128 - blst-native 78.007 ms/op
BLS deserializing 10000 signatures 894.73 ms/op
BLS deserializing 100000 signatures 8.9895 s/op
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3143 ms/op
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.4390 ms/op
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.2616 ms/op
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.3581 ms/op
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.5189 ms/op
BLS aggregatePubkeys 32 - blst-native 27.653 us/op
BLS aggregatePubkeys 128 - blst-native 106.33 us/op
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 73.458 ms/op
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 59.201 ms/op
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 32.452 ms/op
getSlashingsAndExits - default max 108.09 us/op
getSlashingsAndExits - 2k 324.13 us/op
proposeBlockBody type=full, size=empty 5.2356 ms/op
isKnown best case - 1 super set check 299.00 ns/op
isKnown normal case - 2 super set checks 288.00 ns/op
isKnown worse case - 16 super set checks 281.00 ns/op
InMemoryCheckpointStateCache - add get delete 4.6980 us/op
validate api signedAggregateAndProof - struct 2.4895 ms/op
validate gossip signedAggregateAndProof - struct 2.5013 ms/op
validate gossip attestation - vc 640000 1.1980 ms/op
batch validate gossip attestation - vc 640000 - chunk 32 160.47 us/op
batch validate gossip attestation - vc 640000 - chunk 64 143.71 us/op
batch validate gossip attestation - vc 640000 - chunk 128 132.73 us/op
batch validate gossip attestation - vc 640000 - chunk 256 133.81 us/op
pickEth1Vote - no votes 1.1990 ms/op
pickEth1Vote - max votes 7.6064 ms/op
pickEth1Vote - Eth1Data hashTreeRoot value x2048 12.200 ms/op
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 17.285 ms/op
pickEth1Vote - Eth1Data fastSerialize value x2048 505.26 us/op
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.4623 ms/op
bytes32 toHexString 435.00 ns/op
bytes32 Buffer.toString(hex) 234.00 ns/op
bytes32 Buffer.toString(hex) from Uint8Array 359.00 ns/op
bytes32 Buffer.toString(hex) + 0x 240.00 ns/op
Object access 1 prop 0.15800 ns/op
Map access 1 prop 0.13500 ns/op
Object get x1000 6.0820 ns/op
Map get x1000 6.4660 ns/op
Object set x1000 36.603 ns/op
Map set x1000 24.399 ns/op
Return object 10000 times 0.29740 ns/op
Throw Error 10000 times 3.5413 us/op
fastMsgIdFn sha256 / 200 bytes 2.3140 us/op
fastMsgIdFn h32 xxhash / 200 bytes 263.00 ns/op
fastMsgIdFn h64 xxhash / 200 bytes 283.00 ns/op
fastMsgIdFn sha256 / 1000 bytes 7.5360 us/op
fastMsgIdFn h32 xxhash / 1000 bytes 407.00 ns/op
fastMsgIdFn h64 xxhash / 1000 bytes 350.00 ns/op
fastMsgIdFn sha256 / 10000 bytes 65.696 us/op
fastMsgIdFn h32 xxhash / 10000 bytes 1.9400 us/op
fastMsgIdFn h64 xxhash / 10000 bytes 1.2170 us/op
send data - 1000 256B messages 12.687 ms/op
send data - 1000 512B messages 17.896 ms/op
send data - 1000 1024B messages 29.309 ms/op
send data - 1000 1200B messages 25.473 ms/op
send data - 1000 2048B messages 31.063 ms/op
send data - 1000 4096B messages 31.649 ms/op
send data - 1000 16384B messages 71.219 ms/op
send data - 1000 65536B messages 226.33 ms/op
enrSubnets - fastDeserialize 64 bits 1.0750 us/op
enrSubnets - ssz BitVector 64 bits 404.00 ns/op
enrSubnets - fastDeserialize 4 bits 173.00 ns/op
enrSubnets - ssz BitVector 4 bits 404.00 ns/op
prioritizePeers score -10:0 att 32-0.1 sync 2-0 139.10 us/op
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 176.34 us/op
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 244.38 us/op
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 412.55 us/op
prioritizePeers score 0:0 att 64-1 sync 4-1 555.38 us/op
array of 16000 items push then shift 1.6494 us/op
LinkedList of 16000 items push then shift 7.4710 ns/op
array of 16000 items push then pop 125.93 ns/op
LinkedList of 16000 items push then pop 7.2290 ns/op
array of 24000 items push then shift 2.4455 us/op
LinkedList of 24000 items push then shift 7.4410 ns/op
array of 24000 items push then pop 157.92 ns/op
LinkedList of 24000 items push then pop 7.3630 ns/op
intersect bitArray bitLen 8 6.4510 ns/op
intersect array and set length 8 45.726 ns/op
intersect bitArray bitLen 128 29.483 ns/op
intersect array and set length 128 751.21 ns/op
bitArray.getTrueBitIndexes() bitLen 128 1.4280 us/op
bitArray.getTrueBitIndexes() bitLen 248 2.3810 us/op
bitArray.getTrueBitIndexes() bitLen 512 4.6000 us/op
Buffer.concat 32 items 902.00 ns/op
Uint8Array.set 32 items 1.5030 us/op
Buffer.copy 1.6830 us/op
Uint8Array.set - with subarray 2.4510 us/op
Uint8Array.set - without subarray 1.4240 us/op
Set add up to 64 items then delete first 2.2633 us/op
OrderedSet add up to 64 items then delete first 3.3758 us/op
Set add up to 64 items then delete last 2.5750 us/op
OrderedSet add up to 64 items then delete last 3.7545 us/op
Set add up to 64 items then delete middle 2.7305 us/op
OrderedSet add up to 64 items then delete middle 5.6076 us/op
Set add up to 128 items then delete first 5.6313 us/op
OrderedSet add up to 128 items then delete first 8.6467 us/op
Set add up to 128 items then delete last 5.5145 us/op
OrderedSet add up to 128 items then delete last 7.6973 us/op
Set add up to 128 items then delete middle 5.2338 us/op
OrderedSet add up to 128 items then delete middle 14.432 us/op
Set add up to 256 items then delete first 11.722 us/op
OrderedSet add up to 256 items then delete first 17.815 us/op
Set add up to 256 items then delete last 10.532 us/op
OrderedSet add up to 256 items then delete last 15.378 us/op
Set add up to 256 items then delete middle 11.032 us/op
OrderedSet add up to 256 items then delete middle 45.145 us/op
transfer serialized Status (84 B) 1.3690 us/op
copy serialized Status (84 B) 1.1510 us/op
transfer serialized SignedVoluntaryExit (112 B) 1.4810 us/op
copy serialized SignedVoluntaryExit (112 B) 1.1900 us/op
transfer serialized ProposerSlashing (416 B) 1.8690 us/op
copy serialized ProposerSlashing (416 B) 1.8170 us/op
transfer serialized Attestation (485 B) 1.7350 us/op
copy serialized Attestation (485 B) 1.7010 us/op
transfer serialized AttesterSlashing (33232 B) 1.9990 us/op
copy serialized AttesterSlashing (33232 B) 5.0600 us/op
transfer serialized Small SignedBeaconBlock (128000 B) 2.5430 us/op
copy serialized Small SignedBeaconBlock (128000 B) 18.137 us/op
transfer serialized Avg SignedBeaconBlock (200000 B) 3.4420 us/op
copy serialized Avg SignedBeaconBlock (200000 B) 26.212 us/op
transfer serialized BlobsSidecar (524380 B) 3.1520 us/op
copy serialized BlobsSidecar (524380 B) 227.31 us/op
transfer serialized Big SignedBeaconBlock (1000000 B) 4.2170 us/op
copy serialized Big SignedBeaconBlock (1000000 B) 169.92 us/op
pass gossip attestations to forkchoice per slot 3.1880 ms/op
forkChoice updateHead vc 100000 bc 64 eq 0 560.34 us/op
forkChoice updateHead vc 600000 bc 64 eq 0 3.2156 ms/op
forkChoice updateHead vc 1000000 bc 64 eq 0 5.6059 ms/op
forkChoice updateHead vc 600000 bc 320 eq 0 3.3033 ms/op
forkChoice updateHead vc 600000 bc 1200 eq 0 3.5118 ms/op
forkChoice updateHead vc 600000 bc 7200 eq 0 4.8751 ms/op
forkChoice updateHead vc 600000 bc 64 eq 1000 10.830 ms/op
forkChoice updateHead vc 600000 bc 64 eq 10000 11.135 ms/op
forkChoice updateHead vc 600000 bc 64 eq 300000 15.620 ms/op
computeDeltas 500000 validators 300 proto nodes 3.6770 ms/op
computeDeltas 500000 validators 1200 proto nodes 3.6837 ms/op
computeDeltas 500000 validators 7200 proto nodes 3.6756 ms/op
computeDeltas 750000 validators 300 proto nodes 5.4380 ms/op
computeDeltas 750000 validators 1200 proto nodes 5.5364 ms/op
computeDeltas 750000 validators 7200 proto nodes 5.4521 ms/op
computeDeltas 1400000 validators 300 proto nodes 10.249 ms/op
computeDeltas 1400000 validators 1200 proto nodes 9.8350 ms/op
computeDeltas 1400000 validators 7200 proto nodes 9.7309 ms/op
computeDeltas 2100000 validators 300 proto nodes 14.746 ms/op
computeDeltas 2100000 validators 1200 proto nodes 15.562 ms/op
computeDeltas 2100000 validators 7200 proto nodes 20.857 ms/op
altair processAttestation - 250000 vs - 7PWei normalcase 3.2841 ms/op
altair processAttestation - 250000 vs - 7PWei worstcase 4.5738 ms/op
altair processAttestation - setStatus - 1/6 committees join 192.39 us/op
altair processAttestation - setStatus - 1/3 committees join 273.58 us/op
altair processAttestation - setStatus - 1/2 committees join 309.59 us/op
altair processAttestation - setStatus - 2/3 committees join 405.25 us/op
altair processAttestation - setStatus - 4/5 committees join 629.42 us/op
altair processAttestation - setStatus - 100% committees join 1.1184 ms/op
altair processBlock - 250000 vs - 7PWei normalcase 6.9779 ms/op
altair processBlock - 250000 vs - 7PWei normalcase hashState 45.249 ms/op
altair processBlock - 250000 vs - 7PWei worstcase 70.983 ms/op
altair processBlock - 250000 vs - 7PWei worstcase hashState 137.74 ms/op
phase0 processBlock - 250000 vs - 7PWei normalcase 4.7982 ms/op
phase0 processBlock - 250000 vs - 7PWei worstcase 47.522 ms/op
altair processEth1Data - 250000 vs - 7PWei normalcase 933.52 us/op
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 12.479 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 41.036 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 18.506 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 15.607 us/op
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 163.74 us/op
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.6489 ms/op
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.1301 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.9355 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 6.0658 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.7380 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 8.6282 ms/op
Tree 40 250000 create 321.18 ms/op
Tree 40 250000 get(125000) 188.63 ns/op
Tree 40 250000 set(125000) 1.0038 us/op
Tree 40 250000 toArray() 21.660 ms/op
Tree 40 250000 iterate all - toArray() + loop 22.128 ms/op
Tree 40 250000 iterate all - get(i) 56.396 ms/op
MutableVector 250000 create 14.518 ms/op
MutableVector 250000 get(125000) 9.3960 ns/op
MutableVector 250000 set(125000) 276.11 ns/op
MutableVector 250000 toArray() 3.9639 ms/op
MutableVector 250000 iterate all - toArray() + loop 4.7154 ms/op
MutableVector 250000 iterate all - get(i) 1.9475 ms/op
Array 250000 create 4.8355 ms/op
Array 250000 clone - spread 3.2405 ms/op
Array 250000 get(125000) 0.57500 ns/op
Array 250000 set(125000) 0.61900 ns/op
Array 250000 iterate all - loop 125.81 us/op
effectiveBalanceIncrements clone Uint8Array 300000 87.952 us/op
effectiveBalanceIncrements clone MutableVector 300000 216.00 ns/op
effectiveBalanceIncrements rw all Uint8Array 300000 348.42 us/op
effectiveBalanceIncrements rw all MutableVector 300000 233.95 ms/op
phase0 afterProcessEpoch - 250000 vs - 7PWei 109.80 ms/op
phase0 beforeProcessEpoch - 250000 vs - 7PWei 51.435 ms/op
altair processEpoch - mainnet_e81889 529.99 ms/op
mainnet_e81889 - altair beforeProcessEpoch 88.074 ms/op
mainnet_e81889 - altair processJustificationAndFinalization 22.491 us/op
mainnet_e81889 - altair processInactivityUpdates 10.902 ms/op
mainnet_e81889 - altair processRewardsAndPenalties 64.415 ms/op
mainnet_e81889 - altair processRegistryUpdates 7.7320 us/op
mainnet_e81889 - altair processSlashings 1.7990 us/op
mainnet_e81889 - altair processEth1DataReset 1.5570 us/op
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.9864 ms/op
mainnet_e81889 - altair processSlashingsReset 12.120 us/op
mainnet_e81889 - altair processRandaoMixesReset 10.158 us/op
mainnet_e81889 - altair processHistoricalRootsUpdate 720.00 ns/op
mainnet_e81889 - altair processParticipationFlagUpdates 4.8050 us/op
mainnet_e81889 - altair processSyncCommitteeUpdates 636.00 ns/op
mainnet_e81889 - altair afterProcessEpoch 106.88 ms/op
capella processEpoch - mainnet_e217614 1.7113 s/op
mainnet_e217614 - capella beforeProcessEpoch 275.77 ms/op
mainnet_e217614 - capella processJustificationAndFinalization 20.096 us/op
mainnet_e217614 - capella processInactivityUpdates 16.175 ms/op
mainnet_e217614 - capella processRewardsAndPenalties 237.86 ms/op
mainnet_e217614 - capella processRegistryUpdates 13.185 us/op
mainnet_e217614 - capella processSlashings 372.00 ns/op
mainnet_e217614 - capella processEth1DataReset 373.00 ns/op
mainnet_e217614 - capella processEffectiveBalanceUpdates 11.435 ms/op
mainnet_e217614 - capella processSlashingsReset 4.6420 us/op
mainnet_e217614 - capella processRandaoMixesReset 8.9980 us/op
mainnet_e217614 - capella processHistoricalRootsUpdate 835.00 ns/op
mainnet_e217614 - capella processParticipationFlagUpdates 2.3140 us/op
mainnet_e217614 - capella afterProcessEpoch 271.16 ms/op
phase0 processEpoch - mainnet_e58758 444.34 ms/op
mainnet_e58758 - phase0 beforeProcessEpoch 127.24 ms/op
mainnet_e58758 - phase0 processJustificationAndFinalization 18.173 us/op
mainnet_e58758 - phase0 processRewardsAndPenalties 34.227 ms/op
mainnet_e58758 - phase0 processRegistryUpdates 7.7160 us/op
mainnet_e58758 - phase0 processSlashings 382.00 ns/op
mainnet_e58758 - phase0 processEth1DataReset 320.00 ns/op
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 962.27 us/op
mainnet_e58758 - phase0 processSlashingsReset 3.4090 us/op
mainnet_e58758 - phase0 processRandaoMixesReset 4.2990 us/op
mainnet_e58758 - phase0 processHistoricalRootsUpdate 329.00 ns/op
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.6390 us/op
mainnet_e58758 - phase0 afterProcessEpoch 80.141 ms/op
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4694 ms/op
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.6793 ms/op
altair processInactivityUpdates - 250000 normalcase 15.919 ms/op
altair processInactivityUpdates - 250000 worstcase 15.678 ms/op
phase0 processRegistryUpdates - 250000 normalcase 7.7500 us/op
phase0 processRegistryUpdates - 250000 badcase_full_deposits 259.64 us/op
phase0 processRegistryUpdates - 250000 worstcase 0.5 101.11 ms/op
altair processRewardsAndPenalties - 250000 normalcase 38.987 ms/op
altair processRewardsAndPenalties - 250000 worstcase 42.998 ms/op
phase0 getAttestationDeltas - 250000 normalcase 7.4454 ms/op
phase0 getAttestationDeltas - 250000 worstcase 7.5892 ms/op
phase0 processSlashings - 250000 worstcase 87.216 us/op
altair processSyncCommitteeUpdates - 250000 123.94 ms/op
BeaconState.hashTreeRoot - No change 307.00 ns/op
BeaconState.hashTreeRoot - 1 full validator 103.01 us/op
BeaconState.hashTreeRoot - 32 full validator 1.4284 ms/op
BeaconState.hashTreeRoot - 512 full validator 11.168 ms/op
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 134.88 us/op
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.0229 ms/op
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 25.669 ms/op
BeaconState.hashTreeRoot - 1 balances 105.65 us/op
BeaconState.hashTreeRoot - 32 balances 1.0273 ms/op
BeaconState.hashTreeRoot - 512 balances 8.9778 ms/op
BeaconState.hashTreeRoot - 250000 balances 173.80 ms/op
aggregationBits - 2048 els - zipIndexesInBitList 23.018 us/op
byteArrayEquals 32 51.623 ns/op
Buffer.compare 32 45.449 ns/op
byteArrayEquals 1024 1.5674 us/op
Buffer.compare 1024 54.220 ns/op
byteArrayEquals 16384 24.931 us/op
Buffer.compare 16384 241.13 ns/op
byteArrayEquals 123687377 190.90 ms/op
Buffer.compare 123687377 6.7051 ms/op
byteArrayEquals 32 - diff last byte 54.517 ns/op
Buffer.compare 32 - diff last byte 47.850 ns/op
byteArrayEquals 1024 - diff last byte 1.6045 us/op
Buffer.compare 1024 - diff last byte 55.871 ns/op
byteArrayEquals 16384 - diff last byte 25.969 us/op
Buffer.compare 16384 - diff last byte 242.56 ns/op
byteArrayEquals 123687377 - diff last byte 198.14 ms/op
Buffer.compare 123687377 - diff last byte 7.7795 ms/op
byteArrayEquals 32 - random bytes 5.4330 ns/op
Buffer.compare 32 - random bytes 55.570 ns/op
byteArrayEquals 1024 - random bytes 5.3950 ns/op
Buffer.compare 1024 - random bytes 49.231 ns/op
byteArrayEquals 16384 - random bytes 5.3650 ns/op
Buffer.compare 16384 - random bytes 48.987 ns/op
byteArrayEquals 123687377 - random bytes 6.6800 ns/op
Buffer.compare 123687377 - random bytes 50.960 ns/op
regular array get 100000 times 33.852 us/op
wrappedArray get 100000 times 36.025 us/op
arrayWithProxy get 100000 times 13.767 ms/op
ssz.Root.equals 49.224 ns/op
byteArrayEquals 48.008 ns/op
Buffer.compare 11.095 ns/op
shuffle list - 16384 els 6.3893 ms/op
shuffle list - 250000 els 93.593 ms/op
processSlot - 1 slots 12.457 us/op
processSlot - 32 slots 2.4324 ms/op
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 39.494 ms/op
getCommitteeAssignments - req 1 vs - 250000 vc 2.3881 ms/op
getCommitteeAssignments - req 100 vs - 250000 vc 4.4313 ms/op
getCommitteeAssignments - req 1000 vs - 250000 vc 4.8115 ms/op
findModifiedValidators - 10000 modified validators 365.28 ms/op
findModifiedValidators - 1000 modified validators 345.17 ms/op
findModifiedValidators - 100 modified validators 316.62 ms/op
findModifiedValidators - 10 modified validators 295.08 ms/op
findModifiedValidators - 1 modified validators 247.71 ms/op
findModifiedValidators - no difference 219.43 ms/op
compare ViewDUs 3.6094 s/op
compare each validator Uint8Array 1.6724 s/op
compare ViewDU to Uint8Array 1.3568 s/op
migrate state 1000000 validators, 24 modified, 0 new 695.38 ms/op
migrate state 1000000 validators, 1700 modified, 1000 new 935.46 ms/op
migrate state 1000000 validators, 3400 modified, 2000 new 1.1517 s/op
migrate state 1500000 validators, 24 modified, 0 new 731.57 ms/op
migrate state 1500000 validators, 1700 modified, 1000 new 831.79 ms/op
migrate state 1500000 validators, 3400 modified, 2000 new 1.2576 s/op
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.7900 ns/op
state getBlockRootAtSlot - 250000 vs - 7PWei 843.89 ns/op
computeProposers - vc 250000 8.4113 ms/op
computeEpochShuffling - vc 250000 95.435 ms/op
getNextSyncCommittee - vc 250000 137.03 ms/op
computeSigningRoot for AttestationData 22.529 us/op
hash AttestationData serialized data then Buffer.toString(base64) 1.6142 us/op
toHexString serialized data 914.48 ns/op
Buffer.toString(base64) 195.09 ns/op

by benchmarkbot/action

Copy link

codecov bot commented May 24, 2024

Codecov Report

Attention: Patch coverage is 65.59486% with 214 lines in your changes are missing coverage. Please review.

Project coverage is 62.19%. Comparing base (bc1537b) to head (fd72bf4).
Report is 1 commits behind head on stable.

Additional details and impacted files
@@            Coverage Diff             @@
##           stable    #6818      +/-   ##
==========================================
+ Coverage   61.87%   62.19%   +0.32%     
==========================================
  Files         557      572      +15     
  Lines       59214    60043     +829     
  Branches     1915     1977      +62     
==========================================
+ Hits        36638    37345     +707     
- Misses      22533    22655     +122     
  Partials       43       43              

@twoeths
Copy link
Contributor

twoeths commented Jun 4, 2024

there is an issue with ecdsa_pubkey_negate function

Screenshot 2024-06-04 at 17 21 40

this did not exist with v1.17.0 here
v1.19.0-rc.0_mainnet_main.cpuprofile.zip

@twoeths
Copy link
Contributor

twoeths commented Jun 4, 2024

posting gc pause time rate metric here for later reference:

Screenshot 2024-06-04 at 17 36 08

vs stable mainnet node (6h rate interval in the last 24h)

Screenshot 2024-06-04 at 17 37 44

this affects other metrics, for example epoch transition time

@wemeetagain wemeetagain closed this Jun 4, 2024
@wemeetagain wemeetagain deleted the rc/v1.19.0 branch June 4, 2024 19:34
@twoeths
Copy link
Contributor

twoeths commented Jun 5, 2024

another profile shows eddsa_privkey_import function

Screenshot 2024-06-05 at 15 36 20

v1.19.0_rc.0_mainnet_main_20240605.cpuprofile.zip

the function name seems not correct and it's only available in bcrypto

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