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 #6854

Merged
merged 57 commits into from
Jun 7, 2024
Merged

chore: release v1.19.0 #6854

merged 57 commits into from
Jun 7, 2024

Conversation

wemeetagain
Copy link
Member

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
jeluard and others added 17 commits May 24, 2024 16:18
* 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>
* test: increase timeout of keystore cache tests

* Increase hook timeout

* Consistent number formatting
* Revert "feat: use @chainsafe/blst directly (#6706)"

This reverts commit 66fe753.

* Revert "feat: switch bls to napi rebuild (#6616)"

This reverts commit 97d9aa8.
@wemeetagain wemeetagain changed the title Rc/v1.19.0 chore: release v1.19.0 Jun 4, 2024
Copy link

codecov bot commented Jun 4, 2024

Codecov Report

Attention: Patch coverage is 65.90164% with 208 lines in your changes missing coverage. Please review.

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

Additional details and impacted files
@@            Coverage Diff             @@
##           stable    #6854      +/-   ##
==========================================
+ Coverage   61.87%   62.20%   +0.32%     
==========================================
  Files         557      571      +14     
  Lines       59214    60021     +807     
  Branches     1915     1977      +62     
==========================================
+ Hits        36638    37334     +696     
- Misses      22533    22644     +111     
  Partials       43       43              

Copy link
Contributor

github-actions bot commented Jun 4, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 1ea9b0f Previous: - Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 515.11 us/op
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 41.916 us/op
BLS verify - blst-native 1.0694 ms/op
BLS verifyMultipleSignatures 3 - blst-native 2.2429 ms/op
BLS verifyMultipleSignatures 8 - blst-native 4.9630 ms/op
BLS verifyMultipleSignatures 32 - blst-native 18.449 ms/op
BLS verifyMultipleSignatures 64 - blst-native 35.929 ms/op
BLS verifyMultipleSignatures 128 - blst-native 71.045 ms/op
BLS deserializing 10000 signatures 775.69 ms/op
BLS deserializing 100000 signatures 7.8526 s/op
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.1326 ms/op
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.2166 ms/op
BLS verifyMultipleSignatures - same message - 32 - blst-native 1.9937 ms/op
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.5688 ms/op
BLS verifyMultipleSignatures - same message - 128 - blst-native 4.9526 ms/op
BLS aggregatePubkeys 32 - blst-native 22.666 us/op
BLS aggregatePubkeys 128 - blst-native 88.479 us/op
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 54.056 ms/op
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 53.117 ms/op
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 28.129 ms/op
getSlashingsAndExits - default max 72.274 us/op
getSlashingsAndExits - 2k 244.63 us/op
proposeBlockBody type=full, size=empty 4.5906 ms/op
isKnown best case - 1 super set check 459.00 ns/op
isKnown normal case - 2 super set checks 454.00 ns/op
isKnown worse case - 16 super set checks 454.00 ns/op
InMemoryCheckpointStateCache - add get delete 4.0510 us/op
validate api signedAggregateAndProof - struct 2.3627 ms/op
validate gossip signedAggregateAndProof - struct 2.3600 ms/op
validate gossip attestation - vc 640000 1.1218 ms/op
batch validate gossip attestation - vc 640000 - chunk 32 133.89 us/op
batch validate gossip attestation - vc 640000 - chunk 64 122.04 us/op
batch validate gossip attestation - vc 640000 - chunk 128 119.64 us/op
batch validate gossip attestation - vc 640000 - chunk 256 113.72 us/op
pickEth1Vote - no votes 874.02 us/op
pickEth1Vote - max votes 6.4477 ms/op
pickEth1Vote - Eth1Data hashTreeRoot value x2048 18.980 ms/op
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 25.656 ms/op
pickEth1Vote - Eth1Data fastSerialize value x2048 369.67 us/op
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.5983 ms/op
bytes32 toHexString 676.00 ns/op
bytes32 Buffer.toString(hex) 471.00 ns/op
bytes32 Buffer.toString(hex) from Uint8Array 674.00 ns/op
bytes32 Buffer.toString(hex) + 0x 491.00 ns/op
Object access 1 prop 0.34300 ns/op
Map access 1 prop 0.34400 ns/op
Object get x1000 5.2660 ns/op
Map get x1000 6.0760 ns/op
Object set x1000 23.325 ns/op
Map set x1000 19.877 ns/op
Return object 10000 times 0.31090 ns/op
Throw Error 10000 times 2.8329 us/op
fastMsgIdFn sha256 / 200 bytes 2.1200 us/op
fastMsgIdFn h32 xxhash / 200 bytes 484.00 ns/op
fastMsgIdFn h64 xxhash / 200 bytes 495.00 ns/op
fastMsgIdFn sha256 / 1000 bytes 6.1890 us/op
fastMsgIdFn h32 xxhash / 1000 bytes 628.00 ns/op
fastMsgIdFn h64 xxhash / 1000 bytes 572.00 ns/op
fastMsgIdFn sha256 / 10000 bytes 52.586 us/op
fastMsgIdFn h32 xxhash / 10000 bytes 2.0460 us/op
fastMsgIdFn h64 xxhash / 10000 bytes 1.3960 us/op
send data - 1000 256B messages 14.368 ms/op
send data - 1000 512B messages 16.964 ms/op
send data - 1000 1024B messages 26.442 ms/op
send data - 1000 1200B messages 27.586 ms/op
send data - 1000 2048B messages 30.976 ms/op
send data - 1000 4096B messages 26.555 ms/op
send data - 1000 16384B messages 65.505 ms/op
send data - 1000 65536B messages 249.09 ms/op
enrSubnets - fastDeserialize 64 bits 1.1690 us/op
enrSubnets - ssz BitVector 64 bits 529.00 ns/op
enrSubnets - fastDeserialize 4 bits 361.00 ns/op
enrSubnets - ssz BitVector 4 bits 581.00 ns/op
prioritizePeers score -10:0 att 32-0.1 sync 2-0 163.91 us/op
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 147.17 us/op
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 330.12 us/op
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 489.46 us/op
prioritizePeers score 0:0 att 64-1 sync 4-1 557.29 us/op
array of 16000 items push then shift 1.3512 us/op
LinkedList of 16000 items push then shift 6.6080 ns/op
array of 16000 items push then pop 97.696 ns/op
LinkedList of 16000 items push then pop 6.3830 ns/op
array of 24000 items push then shift 1.9800 us/op
LinkedList of 24000 items push then shift 6.5030 ns/op
array of 24000 items push then pop 120.82 ns/op
LinkedList of 24000 items push then pop 6.3360 ns/op
intersect bitArray bitLen 8 5.5710 ns/op
intersect array and set length 8 42.380 ns/op
intersect bitArray bitLen 128 28.153 ns/op
intersect array and set length 128 586.88 ns/op
bitArray.getTrueBitIndexes() bitLen 128 1.9960 us/op
bitArray.getTrueBitIndexes() bitLen 248 3.3610 us/op
bitArray.getTrueBitIndexes() bitLen 512 7.3130 us/op
Buffer.concat 32 items 1.0860 us/op
Uint8Array.set 32 items 1.7570 us/op
Buffer.copy 1.8500 us/op
Uint8Array.set - with subarray 2.2360 us/op
Uint8Array.set - without subarray 1.8670 us/op
Set add up to 64 items then delete first 1.8858 us/op
OrderedSet add up to 64 items then delete first 3.0621 us/op
Set add up to 64 items then delete last 2.0801 us/op
OrderedSet add up to 64 items then delete last 3.2881 us/op
Set add up to 64 items then delete middle 2.1186 us/op
OrderedSet add up to 64 items then delete middle 4.6826 us/op
Set add up to 128 items then delete first 4.0456 us/op
OrderedSet add up to 128 items then delete first 6.1074 us/op
Set add up to 128 items then delete last 4.0263 us/op
OrderedSet add up to 128 items then delete last 6.2801 us/op
Set add up to 128 items then delete middle 4.0315 us/op
OrderedSet add up to 128 items then delete middle 12.282 us/op
Set add up to 256 items then delete first 7.8980 us/op
OrderedSet add up to 256 items then delete first 12.069 us/op
Set add up to 256 items then delete last 7.9280 us/op
OrderedSet add up to 256 items then delete last 12.512 us/op
Set add up to 256 items then delete middle 7.7920 us/op
OrderedSet add up to 256 items then delete middle 37.954 us/op
transfer serialized Status (84 B) 1.6110 us/op
copy serialized Status (84 B) 1.3980 us/op
transfer serialized SignedVoluntaryExit (112 B) 1.4870 us/op
copy serialized SignedVoluntaryExit (112 B) 1.2820 us/op
transfer serialized ProposerSlashing (416 B) 1.5640 us/op
copy serialized ProposerSlashing (416 B) 1.5040 us/op
transfer serialized Attestation (485 B) 1.5930 us/op
copy serialized Attestation (485 B) 1.6040 us/op
transfer serialized AttesterSlashing (33232 B) 2.2950 us/op
copy serialized AttesterSlashing (33232 B) 5.9180 us/op
transfer serialized Small SignedBeaconBlock (128000 B) 3.1580 us/op
copy serialized Small SignedBeaconBlock (128000 B) 14.483 us/op
transfer serialized Avg SignedBeaconBlock (200000 B) 2.6920 us/op
copy serialized Avg SignedBeaconBlock (200000 B) 21.324 us/op
transfer serialized BlobsSidecar (524380 B) 3.2950 us/op
copy serialized BlobsSidecar (524380 B) 113.10 us/op
transfer serialized Big SignedBeaconBlock (1000000 B) 3.7470 us/op
copy serialized Big SignedBeaconBlock (1000000 B) 137.82 us/op
pass gossip attestations to forkchoice per slot 2.6640 ms/op
forkChoice updateHead vc 100000 bc 64 eq 0 409.89 us/op
forkChoice updateHead vc 600000 bc 64 eq 0 2.5294 ms/op
forkChoice updateHead vc 1000000 bc 64 eq 0 4.3553 ms/op
forkChoice updateHead vc 600000 bc 320 eq 0 2.5432 ms/op
forkChoice updateHead vc 600000 bc 1200 eq 0 2.7784 ms/op
forkChoice updateHead vc 600000 bc 7200 eq 0 3.2534 ms/op
forkChoice updateHead vc 600000 bc 64 eq 1000 9.7815 ms/op
forkChoice updateHead vc 600000 bc 64 eq 10000 9.7004 ms/op
forkChoice updateHead vc 600000 bc 64 eq 300000 12.295 ms/op
computeDeltas 500000 validators 300 proto nodes 3.0907 ms/op
computeDeltas 500000 validators 1200 proto nodes 3.1289 ms/op
computeDeltas 500000 validators 7200 proto nodes 3.1027 ms/op
computeDeltas 750000 validators 300 proto nodes 4.9503 ms/op
computeDeltas 750000 validators 1200 proto nodes 4.8971 ms/op
computeDeltas 750000 validators 7200 proto nodes 4.9248 ms/op
computeDeltas 1400000 validators 300 proto nodes 8.8805 ms/op
computeDeltas 1400000 validators 1200 proto nodes 8.5522 ms/op
computeDeltas 1400000 validators 7200 proto nodes 8.1953 ms/op
computeDeltas 2100000 validators 300 proto nodes 12.527 ms/op
computeDeltas 2100000 validators 1200 proto nodes 12.852 ms/op
computeDeltas 2100000 validators 7200 proto nodes 12.977 ms/op
altair processAttestation - 250000 vs - 7PWei normalcase 1.9944 ms/op
altair processAttestation - 250000 vs - 7PWei worstcase 2.2079 ms/op
altair processAttestation - setStatus - 1/6 committees join 85.104 us/op
altair processAttestation - setStatus - 1/3 committees join 157.41 us/op
altair processAttestation - setStatus - 1/2 committees join 238.92 us/op
altair processAttestation - setStatus - 2/3 committees join 245.30 us/op
altair processAttestation - setStatus - 4/5 committees join 382.20 us/op
altair processAttestation - setStatus - 100% committees join 466.08 us/op
altair processBlock - 250000 vs - 7PWei normalcase 3.4644 ms/op
altair processBlock - 250000 vs - 7PWei normalcase hashState 17.279 ms/op
altair processBlock - 250000 vs - 7PWei worstcase 45.689 ms/op
altair processBlock - 250000 vs - 7PWei worstcase hashState 64.733 ms/op
phase0 processBlock - 250000 vs - 7PWei normalcase 1.3429 ms/op
phase0 processBlock - 250000 vs - 7PWei worstcase 24.259 ms/op
altair processEth1Data - 250000 vs - 7PWei normalcase 247.70 us/op
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 2.7890 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 17.649 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 7.2520 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 5.8650 us/op
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 83.113 us/op
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 889.39 us/op
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 718.04 us/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.0961 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 1.7212 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.2282 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 2.4443 ms/op
Tree 40 250000 create 175.80 ms/op
Tree 40 250000 get(125000) 118.34 ns/op
Tree 40 250000 set(125000) 542.50 ns/op
Tree 40 250000 toArray() 17.404 ms/op
Tree 40 250000 iterate all - toArray() + loop 17.455 ms/op
Tree 40 250000 iterate all - get(i) 42.167 ms/op
MutableVector 250000 create 7.5145 ms/op
MutableVector 250000 get(125000) 6.0440 ns/op
MutableVector 250000 set(125000) 177.79 ns/op
MutableVector 250000 toArray() 2.7190 ms/op
MutableVector 250000 iterate all - toArray() + loop 2.8950 ms/op
MutableVector 250000 iterate all - get(i) 1.5090 ms/op
Array 250000 create 2.5027 ms/op
Array 250000 clone - spread 1.3479 ms/op
Array 250000 get(125000) 0.58400 ns/op
Array 250000 set(125000) 0.59800 ns/op
Array 250000 iterate all - loop 79.183 us/op
effectiveBalanceIncrements clone Uint8Array 300000 13.517 us/op
effectiveBalanceIncrements clone MutableVector 300000 314.00 ns/op
effectiveBalanceIncrements rw all Uint8Array 300000 168.96 us/op
effectiveBalanceIncrements rw all MutableVector 300000 59.574 ms/op
phase0 afterProcessEpoch - 250000 vs - 7PWei 76.126 ms/op
phase0 beforeProcessEpoch - 250000 vs - 7PWei 44.304 ms/op
altair processEpoch - mainnet_e81889 388.32 ms/op
mainnet_e81889 - altair beforeProcessEpoch 72.265 ms/op
mainnet_e81889 - altair processJustificationAndFinalization 18.921 us/op
mainnet_e81889 - altair processInactivityUpdates 4.9184 ms/op
mainnet_e81889 - altair processRewardsAndPenalties 47.905 ms/op
mainnet_e81889 - altair processRegistryUpdates 3.2030 us/op
mainnet_e81889 - altair processSlashings 921.00 ns/op
mainnet_e81889 - altair processEth1DataReset 709.00 ns/op
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.4300 ms/op
mainnet_e81889 - altair processSlashingsReset 5.3510 us/op
mainnet_e81889 - altair processRandaoMixesReset 3.0270 us/op
mainnet_e81889 - altair processHistoricalRootsUpdate 633.00 ns/op
mainnet_e81889 - altair processParticipationFlagUpdates 2.2520 us/op
mainnet_e81889 - altair processSyncCommitteeUpdates 472.00 ns/op
mainnet_e81889 - altair afterProcessEpoch 82.399 ms/op
capella processEpoch - mainnet_e217614 1.0858 s/op
mainnet_e217614 - capella beforeProcessEpoch 245.88 ms/op
mainnet_e217614 - capella processJustificationAndFinalization 7.0920 us/op
mainnet_e217614 - capella processInactivityUpdates 14.063 ms/op
mainnet_e217614 - capella processRewardsAndPenalties 246.19 ms/op
mainnet_e217614 - capella processRegistryUpdates 11.457 us/op
mainnet_e217614 - capella processSlashings 761.00 ns/op
mainnet_e217614 - capella processEth1DataReset 415.00 ns/op
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.7977 ms/op
mainnet_e217614 - capella processSlashingsReset 3.2020 us/op
mainnet_e217614 - capella processRandaoMixesReset 4.7770 us/op
mainnet_e217614 - capella processHistoricalRootsUpdate 753.00 ns/op
mainnet_e217614 - capella processParticipationFlagUpdates 3.0540 us/op
mainnet_e217614 - capella afterProcessEpoch 205.25 ms/op
phase0 processEpoch - mainnet_e58758 332.24 ms/op
mainnet_e58758 - phase0 beforeProcessEpoch 113.33 ms/op
mainnet_e58758 - phase0 processJustificationAndFinalization 19.605 us/op
mainnet_e58758 - phase0 processRewardsAndPenalties 24.984 ms/op
mainnet_e58758 - phase0 processRegistryUpdates 8.1780 us/op
mainnet_e58758 - phase0 processSlashings 718.00 ns/op
mainnet_e58758 - phase0 processEth1DataReset 705.00 ns/op
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1003 ms/op
mainnet_e58758 - phase0 processSlashingsReset 2.7520 us/op
mainnet_e58758 - phase0 processRandaoMixesReset 2.9830 us/op
mainnet_e58758 - phase0 processHistoricalRootsUpdate 837.00 ns/op
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.7520 us/op
mainnet_e58758 - phase0 afterProcessEpoch 69.268 ms/op
phase0 processEffectiveBalanceUpdates - 250000 normalcase 814.89 us/op
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5664 ms/op
altair processInactivityUpdates - 250000 normalcase 17.338 ms/op
altair processInactivityUpdates - 250000 worstcase 17.617 ms/op
phase0 processRegistryUpdates - 250000 normalcase 5.7640 us/op
phase0 processRegistryUpdates - 250000 badcase_full_deposits 287.56 us/op
phase0 processRegistryUpdates - 250000 worstcase 0.5 117.43 ms/op
altair processRewardsAndPenalties - 250000 normalcase 42.107 ms/op
altair processRewardsAndPenalties - 250000 worstcase 40.580 ms/op
phase0 getAttestationDeltas - 250000 normalcase 6.0277 ms/op
phase0 getAttestationDeltas - 250000 worstcase 6.0525 ms/op
phase0 processSlashings - 250000 worstcase 92.828 us/op
altair processSyncCommitteeUpdates - 250000 111.97 ms/op
BeaconState.hashTreeRoot - No change 479.00 ns/op
BeaconState.hashTreeRoot - 1 full validator 146.36 us/op
BeaconState.hashTreeRoot - 32 full validator 1.5510 ms/op
BeaconState.hashTreeRoot - 512 full validator 15.728 ms/op
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 159.90 us/op
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.3831 ms/op
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 29.218 ms/op
BeaconState.hashTreeRoot - 1 balances 136.66 us/op
BeaconState.hashTreeRoot - 32 balances 1.3454 ms/op
BeaconState.hashTreeRoot - 512 balances 10.419 ms/op
BeaconState.hashTreeRoot - 250000 balances 176.69 ms/op
aggregationBits - 2048 els - zipIndexesInBitList 28.101 us/op
byteArrayEquals 32 47.056 ns/op
Buffer.compare 32 38.147 ns/op
byteArrayEquals 1024 1.2283 us/op
Buffer.compare 1024 48.209 ns/op
byteArrayEquals 16384 19.228 us/op
Buffer.compare 16384 217.87 ns/op
byteArrayEquals 123687377 153.01 ms/op
Buffer.compare 123687377 5.6387 ms/op
byteArrayEquals 32 - diff last byte 45.913 ns/op
Buffer.compare 32 - diff last byte 35.810 ns/op
byteArrayEquals 1024 - diff last byte 1.2089 us/op
Buffer.compare 1024 - diff last byte 49.587 ns/op
byteArrayEquals 16384 - diff last byte 19.255 us/op
Buffer.compare 16384 - diff last byte 194.67 ns/op
byteArrayEquals 123687377 - diff last byte 147.46 ms/op
Buffer.compare 123687377 - diff last byte 4.2412 ms/op
byteArrayEquals 32 - random bytes 4.9100 ns/op
Buffer.compare 32 - random bytes 43.066 ns/op
byteArrayEquals 1024 - random bytes 4.9070 ns/op
Buffer.compare 1024 - random bytes 40.139 ns/op
byteArrayEquals 16384 - random bytes 4.9810 ns/op
Buffer.compare 16384 - random bytes 39.570 ns/op
byteArrayEquals 123687377 - random bytes 7.8600 ns/op
Buffer.compare 123687377 - random bytes 45.300 ns/op
regular array get 100000 times 31.006 us/op
wrappedArray get 100000 times 31.113 us/op
arrayWithProxy get 100000 times 9.4605 ms/op
ssz.Root.equals 39.897 ns/op
byteArrayEquals 42.881 ns/op
Buffer.compare 9.4030 ns/op
shuffle list - 16384 els 5.5018 ms/op
shuffle list - 250000 els 78.530 ms/op
processSlot - 1 slots 15.242 us/op
processSlot - 32 slots 2.5202 ms/op
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 37.828 ms/op
getCommitteeAssignments - req 1 vs - 250000 vc 1.8294 ms/op
getCommitteeAssignments - req 100 vs - 250000 vc 3.5486 ms/op
getCommitteeAssignments - req 1000 vs - 250000 vc 3.8522 ms/op
findModifiedValidators - 10000 modified validators 262.63 ms/op
findModifiedValidators - 1000 modified validators 147.12 ms/op
findModifiedValidators - 100 modified validators 163.75 ms/op
findModifiedValidators - 10 modified validators 146.89 ms/op
findModifiedValidators - 1 modified validators 147.23 ms/op
findModifiedValidators - no difference 168.30 ms/op
compare ViewDUs 3.9873 s/op
compare each validator Uint8Array 1.9065 s/op
compare ViewDU to Uint8Array 848.85 ms/op
migrate state 1000000 validators, 24 modified, 0 new 610.53 ms/op
migrate state 1000000 validators, 1700 modified, 1000 new 1.1193 s/op
migrate state 1000000 validators, 3400 modified, 2000 new 1.1801 s/op
migrate state 1500000 validators, 24 modified, 0 new 529.46 ms/op
migrate state 1500000 validators, 1700 modified, 1000 new 721.51 ms/op
migrate state 1500000 validators, 3400 modified, 2000 new 837.41 ms/op
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.0200 ns/op
state getBlockRootAtSlot - 250000 vs - 7PWei 725.70 ns/op
computeProposers - vc 250000 5.7565 ms/op
computeEpochShuffling - vc 250000 78.739 ms/op
getNextSyncCommittee - vc 250000 106.25 ms/op
computeSigningRoot for AttestationData 17.569 us/op
hash AttestationData serialized data then Buffer.toString(base64) 1.1491 us/op
toHexString serialized data 788.70 ns/op
Buffer.toString(base64) 134.51 ns/op

by benchmarkbot/action

@twoeths
Copy link
Contributor

twoeths commented Jun 7, 2024

some great metrics for v1.19.0-rc.2 (2 days view on 6h rate interval)

mainnet node

  • epoch transition is better: ~1.21s vs 1.31s as in stable
Screenshot 2024-06-07 at 13 25 46
  • block process time: 69ms vs ~80ms as in stable
Screenshot 2024-06-07 at 13 27 26
  • heap memory is 500MB less than in stable
Screenshot 2024-06-07 at 13 29 05
  • forward gossip attestation is same to stable (2.5k)
Screenshot 2024-06-07 at 13 31 38

1k node of holesky

  • missed attestations - target checkpoints are ~0.6% vs ~1% like in stable
Screenshot 2024-06-07 at 13 44 06
  • missed attesatations - attester are 0.19% max (vs 1% as in stable)
Screenshot 2024-06-07 at 13 45 27

Copy link
Contributor

@twoeths twoeths left a comment

Choose a reason for hiding this comment

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

metrics look great to me

@wemeetagain wemeetagain marked this pull request as ready for review June 7, 2024 11:24
@wemeetagain wemeetagain requested a review from a team as a code owner June 7, 2024 11:24
@wemeetagain wemeetagain merged commit 903672a into stable Jun 7, 2024
19 of 20 checks passed
@wemeetagain wemeetagain deleted the rc/v1.19.0 branch June 7, 2024 11:25
@wemeetagain wemeetagain restored the rc/v1.19.0 branch June 7, 2024 11:25
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.

None yet

8 participants