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: v1.14.0 release #6280

Closed
wants to merge 56 commits into from
Closed

chore: v1.14.0 release #6280

wants to merge 56 commits into from

Conversation

philknows
Copy link
Member

Release v1.14.0

twoeths and others added 30 commits December 19, 2023 16:01
* Add vitest config

* Migrate unit tests

* Migrate e2e tests

* Revert test-util changes

* Update worker path

* Fix e2e tests

* Fix the validator process crash

* Update single thread value

* Fix the exit hooks

* Remove timeout indentation

* Remvoe some test comments
…6087)

* feat: optimistically verify blocks even before all blobs available

cleanup pr and add metrics to track

simplify

improvements and type fixes

increase bucket precision

time fixes

improve metrics collection

improve metrics collection

some comments improv

fix the missing writing blobs for blobspromise

rebase fixes

rebase fixes

remove artifact

apply feedback

add more meta info to error

separate out the blockinput cache and attach to chain

rename the cache

apply more feedback

add unittest for seengossipblockinput

add comments

* check type fixes
* Migrate reqresp unit tests to vitest

* Fix the build step

* Fix the types

* Fix the source changes

* Remove the  usage in src
* fix: track jobItemWorkReq function time

* docs: add panel for BLS jobItemWorkReq metrics
* Fix operationId of light_client routes

* Fix operationId of bls_to_execution_changes routes

* Update beacon api spec version to 2.4.0

* Push case change

* Remove now useless file

* fix: lints

* fix: filter broken test

* Revert "Fix operationId of light_client routes"

This reverts commit 91cd2af.

* Revert "Fix operationId of bls_to_execution_changes routes"

This reverts commit ad53c2d.

* test: ignore missing routes

* test: allow to filter required properties from testing

* fix: incorrect case

* test: fixed incorrect test filtering

* fix: lints

* fix: cleanup

* test: allow more fine grain API tests filtering

* fix: lints

* test: increase JSON schema validation strictness

* fix: restore removed keyword implementation

* test: improve filtering semantic

* test: add support for JSONPath syntax to filtering

* fix: typo

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

* fix: wording

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

* test: improve semantic

* test: added issue for context

* fix: improved issues references

* fix: incorrect dotted property parsing

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
Migrate db unit tests to vitest
Migrate flare unit tests to vitest
Migrate config unit tests to vitest
* Migrate params tests to vitest

* Fix the assertion message
* Migrate fork-choice unit tests to vitest

* Fix the assertion messages

* Update packages/fork-choice/test/unit/protoArray/computeDeltas.test.ts

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

* Fix assertion message

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* Migrate utils tests to vitest

* Remove e2e test script
* Add `Eth-Consensus-Version` to produceBlockV3

* Lint

* Lint

* Add header
…res (#6089)

modify the api

fix validator handling

fix val build

refactor the beacon node impl for the new blobs architecture

get the build working with no blobs

fix the blob sidecars transmisssion

relocate compute blob sidecars

relocate verify merkle branch

verify inclusion proof

fix tests and types

fix unit test

update the spec test versions

skip newly required merkle proof runner

change the minimal/mainnet preset based constant strategy

add other constants to tests

apply feedback

apply feedback

relocate utils
* Restore yarn warnings lint script to previous version

* Add vite package resolution

* Update vite-plugin-node-polyfills package to 0.18.0
* Upgrade vitest

* Change the browser version to fix the download error

* Add a browser version fix

* Fix the browser download path

* Fix the browser download version
* Migrate logger tests to vitest

* Remove lint comment
* docs: add google landing page for old layout until reindexed

* docs: fix broken links

* docs: add SECURITY to docs site pages

* chore: lint docs

* docs: remove committed security.md

* docs: fix mkdocs warnings
* Migrate type tests to vitest

* Fix the npm scripts
* fix: correct createFromState() with cached current shuffling

* chore: fix lint
…d and selected blocks (#6227)

* feat: allow validator to request blinded versions for locally produced and selected blocks

lint

fix the types and tests

* add blinded local combinations to sim

* debug and fix issues
- typo in "one peers" was corrected to "once peers"
twoeths and others added 24 commits January 4, 2024 11:28
* feat: implement LRUBlockStateCache

* feat: implement PersistentCheckpointStateCache

* feat: implement findSeedStateToReload

* fix: add missing catch()

* fix: import path in state-transition

* fix: model CacheItem and type in PersistentCheckpointStateCache

* refactor: use for loop in PersistentCheckpointStateCache.processState

* chore: move test code to beforeAll() in persistentCheckpointsCache.test.ts

* feat: do not prune persisted state when reload

* fix: fifo instead of lru BlockStateCache

* fix: do not prune the last added item in FIFOBlockStateCache

* fix: sync epochIndex and cache in PersistentCheckpointStateCache

* chore: cleanup persistent checkpoint cache types

* chore: tweak comments

* chore: tweak more comments

* chore: reword persistent apis

* chore: add type to cpStateCache size metrics

* fix: metrics labels after rebasing from unstable

---------

Co-authored-by: Cayman <caymannava@gmail.com>
…kV3 api (#6236)

* feat: add and support builder_boost_factor query param to produceBlockV3 api

lint

* add keymanager endpoint and update the test

* update builder boost factor to bigint

* update the help

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

* remove comment

* validate and use boostfactor ranges as per spec

* fix test

* correct typo

Co-authored-by: NC <adrninistrator1@protonmail.com>

* fix the block selection condition

* fixes for spec complaince

* fix the keymanager routes

* comment typo fix

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

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
Co-authored-by: NC <adrninistrator1@protonmail.com>
Bumps [axios](https://github.com/axios/axios) from 1.3.4 to 1.6.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](axios/axios@v1.3.4...v1.6.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.11.0 to 7.23.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.7/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
fix: increase range for the random value of request id

Request id is currently generated by choosing random number 0-10000.
This range is too small, and in some scenarios causes duplicate ids in batch.
Example:
call eth_call to multicall contract, aggregating balanceOf calls of many tokens. If enough tokens are queried, then many eth_getProof requests will be submitted in a batch. for a large amount of tokens there is a large chance of request id collision, failing the check in https://github.com/ChainSafe/lodestar/blob/unstable/packages/prover/src/utils/json_rpc.ts#L84
* feat: track prepare next epoch time

* Update packages/beacon-node/src/metrics/metrics/lodestar.ts

* Align variable name of timer with histogram naming

---------

Co-authored-by: Cayman <caymannava@gmail.com>
Co-authored-by: Nico Flaig <nflaig@protonmail.com>
Bumps [undici](https://github.com/nodejs/undici) from 5.22.1 to 5.28.2.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v5.22.1...v5.28.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.2 to 1.15.4.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](follow-redirects/follow-redirects@v1.15.2...v1.15.4)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: prune BlsToExecutionChange opPool with head state

* fix: address PR comment
* feat: reject builder blocks if engine indicates censorship

* apply feeback

* fix tests

* small refac and test fixes and selection test extenstion for override combinations

* make typing tighter for blindedblock

* apply feedbac

* Fix typo

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
Update teku's bootnode
Bumps [get-func-name](https://github.com/chaijs/get-func-name) from 2.0.0 to 2.0.2.
- [Release notes](https://github.com/chaijs/get-func-name/releases)
- [Commits](https://github.com/chaijs/get-func-name/commits/v2.0.2)

---
updated-dependencies:
- dependency-name: get-func-name
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: always use produceBlockV3 post deneb

* lint

* auto enable only if explicity not provided
* Fix voluntary exit block inclusion filter

* lint

---------

Co-authored-by: harkamal <gajinder@g11.in>
@philknows philknows changed the title v1.14.0 release chore: v1.14.0 release Jan 10, 2024
Copy link

codecov bot commented Jan 10, 2024

Codecov Report

Merging #6280 (c2b905b) into stable (1a816b4) will decrease coverage by 5.26%.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff             @@
##           stable    #6280      +/-   ##
==========================================
- Coverage   85.63%   80.38%   -5.26%     
==========================================
  Files         172      202      +30     
  Lines       14372    19620    +5248     
  Branches      880     1176     +296     
==========================================
+ Hits        12308    15771    +3463     
- Misses       2041     3821    +1780     
- Partials       23       28       +5     

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: e3d5d16 Previous: - Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 821.13 us/op
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 168.83 us/op
BLS verify - blst-native 1.5360 ms/op
BLS verifyMultipleSignatures 3 - blst-native 3.1612 ms/op
BLS verifyMultipleSignatures 8 - blst-native 6.9102 ms/op
BLS verifyMultipleSignatures 32 - blst-native 25.054 ms/op
BLS verifyMultipleSignatures 64 - blst-native 48.588 ms/op
BLS verifyMultipleSignatures 128 - blst-native 93.965 ms/op
BLS deserializing 10000 signatures 999.25 ms/op
BLS deserializing 100000 signatures 9.4620 s/op
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3970 ms/op
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.5720 ms/op
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.4419 ms/op
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.5226 ms/op
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.7934 ms/op
BLS aggregatePubkeys 32 - blst-native 28.309 us/op
BLS aggregatePubkeys 128 - blst-native 106.60 us/op
getAttestationsForBlock 66.053 ms/op
getSlashingsAndExits - default max 200.57 us/op
getSlashingsAndExits - 2k 751.92 us/op
proposeBlockBody type=full, size=empty 7.3285 ms/op
isKnown best case - 1 super set check 672.00 ns/op
isKnown normal case - 2 super set checks 785.00 ns/op
isKnown worse case - 16 super set checks 606.00 ns/op
CheckpointStateCache - add get delete 6.7890 us/op
validate api signedAggregateAndProof - struct 3.2661 ms/op
validate gossip signedAggregateAndProof - struct 2.9938 ms/op
validate gossip attestation - vc 640000 1.4859 ms/op
batch validate gossip attestation - vc 640000 - chunk 32 204.90 us/op
batch validate gossip attestation - vc 640000 - chunk 64 172.83 us/op
batch validate gossip attestation - vc 640000 - chunk 128 174.10 us/op
batch validate gossip attestation - vc 640000 - chunk 256 160.85 us/op
pickEth1Vote - no votes 1.5577 ms/op
pickEth1Vote - max votes 15.161 ms/op
pickEth1Vote - Eth1Data hashTreeRoot value x2048 24.576 ms/op
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 39.046 ms/op
pickEth1Vote - Eth1Data fastSerialize value x2048 844.53 us/op
pickEth1Vote - Eth1Data fastSerialize tree x2048 9.6862 ms/op
bytes32 toHexString 937.00 ns/op
bytes32 Buffer.toString(hex) 341.00 ns/op
bytes32 Buffer.toString(hex) from Uint8Array 552.00 ns/op
bytes32 Buffer.toString(hex) + 0x 370.00 ns/op
Object access 1 prop 0.23300 ns/op
Map access 1 prop 0.16900 ns/op
Object get x1000 10.443 ns/op
Map get x1000 0.98800 ns/op
Object set x1000 90.152 ns/op
Map set x1000 60.156 ns/op
Return object 10000 times 0.32050 ns/op
Throw Error 10000 times 4.1305 us/op
fastMsgIdFn sha256 / 200 bytes 3.6400 us/op
fastMsgIdFn h32 xxhash / 200 bytes 404.00 ns/op
fastMsgIdFn h64 xxhash / 200 bytes 471.00 ns/op
fastMsgIdFn sha256 / 1000 bytes 13.234 us/op
fastMsgIdFn h32 xxhash / 1000 bytes 566.00 ns/op
fastMsgIdFn h64 xxhash / 1000 bytes 517.00 ns/op
fastMsgIdFn sha256 / 10000 bytes 111.20 us/op
fastMsgIdFn h32 xxhash / 10000 bytes 2.1350 us/op
fastMsgIdFn h64 xxhash / 10000 bytes 1.4890 us/op
send data - 1000 256B messages 27.523 ms/op
send data - 1000 512B messages 32.794 ms/op
send data - 1000 1024B messages 47.592 ms/op
send data - 1000 1200B messages 52.068 ms/op
send data - 1000 2048B messages 61.569 ms/op
send data - 1000 4096B messages 54.800 ms/op
send data - 1000 16384B messages 156.48 ms/op
send data - 1000 65536B messages 611.90 ms/op
enrSubnets - fastDeserialize 64 bits 2.1650 us/op
enrSubnets - ssz BitVector 64 bits 662.00 ns/op
enrSubnets - fastDeserialize 4 bits 265.00 ns/op
enrSubnets - ssz BitVector 4 bits 614.00 ns/op
prioritizePeers score -10:0 att 32-0.1 sync 2-0 127.49 us/op
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 188.36 us/op
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 212.57 us/op
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 386.58 us/op
prioritizePeers score 0:0 att 64-1 sync 4-1 420.59 us/op
array of 16000 items push then shift 1.8086 us/op
LinkedList of 16000 items push then shift 10.423 ns/op
array of 16000 items push then pop 134.93 ns/op
LinkedList of 16000 items push then pop 10.143 ns/op
array of 24000 items push then shift 2.7695 us/op
LinkedList of 24000 items push then shift 10.313 ns/op
array of 24000 items push then pop 191.45 ns/op
LinkedList of 24000 items push then pop 10.228 ns/op
intersect bitArray bitLen 8 7.5870 ns/op
intersect array and set length 8 93.964 ns/op
intersect bitArray bitLen 128 42.779 ns/op
intersect array and set length 128 1.2506 us/op
bitArray.getTrueBitIndexes() bitLen 128 1.9350 us/op
bitArray.getTrueBitIndexes() bitLen 248 3.1050 us/op
bitArray.getTrueBitIndexes() bitLen 512 6.2100 us/op
Buffer.concat 32 items 1.0200 us/op
Uint8Array.set 32 items 1.9840 us/op
Set add up to 64 items then delete first 5.3122 us/op
OrderedSet add up to 64 items then delete first 6.9649 us/op
Set add up to 64 items then delete last 5.5495 us/op
OrderedSet add up to 64 items then delete last 6.9930 us/op
Set add up to 64 items then delete middle 5.4351 us/op
OrderedSet add up to 64 items then delete middle 8.6062 us/op
Set add up to 128 items then delete first 10.758 us/op
OrderedSet add up to 128 items then delete first 14.894 us/op
Set add up to 128 items then delete last 11.253 us/op
OrderedSet add up to 128 items then delete last 14.159 us/op
Set add up to 128 items then delete middle 10.593 us/op
OrderedSet add up to 128 items then delete middle 20.975 us/op
Set add up to 256 items then delete first 22.389 us/op
OrderedSet add up to 256 items then delete first 32.518 us/op
Set add up to 256 items then delete last 22.275 us/op
OrderedSet add up to 256 items then delete last 29.130 us/op
Set add up to 256 items then delete middle 21.777 us/op
OrderedSet add up to 256 items then delete middle 52.900 us/op
transfer serialized Status (84 B) 2.1880 us/op
copy serialized Status (84 B) 1.8490 us/op
transfer serialized SignedVoluntaryExit (112 B) 2.2560 us/op
copy serialized SignedVoluntaryExit (112 B) 2.0970 us/op
transfer serialized ProposerSlashing (416 B) 2.8680 us/op
copy serialized ProposerSlashing (416 B) 3.3250 us/op
transfer serialized Attestation (485 B) 3.1530 us/op
copy serialized Attestation (485 B) 2.6080 us/op
transfer serialized AttesterSlashing (33232 B) 2.4240 us/op
copy serialized AttesterSlashing (33232 B) 8.8070 us/op
transfer serialized Small SignedBeaconBlock (128000 B) 2.9290 us/op
copy serialized Small SignedBeaconBlock (128000 B) 26.217 us/op
transfer serialized Avg SignedBeaconBlock (200000 B) 3.7760 us/op
copy serialized Avg SignedBeaconBlock (200000 B) 39.663 us/op
transfer serialized BlobsSidecar (524380 B) 4.6020 us/op
copy serialized BlobsSidecar (524380 B) 148.85 us/op
transfer serialized Big SignedBeaconBlock (1000000 B) 4.9400 us/op
copy serialized Big SignedBeaconBlock (1000000 B) 234.28 us/op
pass gossip attestations to forkchoice per slot 4.2590 ms/op
forkChoice updateHead vc 100000 bc 64 eq 0 774.03 us/op
forkChoice updateHead vc 600000 bc 64 eq 0 4.8807 ms/op
forkChoice updateHead vc 1000000 bc 64 eq 0 7.8548 ms/op
forkChoice updateHead vc 600000 bc 320 eq 0 4.4778 ms/op
forkChoice updateHead vc 600000 bc 1200 eq 0 4.6896 ms/op
forkChoice updateHead vc 600000 bc 7200 eq 0 6.1513 ms/op
forkChoice updateHead vc 600000 bc 64 eq 1000 12.114 ms/op
forkChoice updateHead vc 600000 bc 64 eq 10000 13.495 ms/op
forkChoice updateHead vc 600000 bc 64 eq 300000 30.140 ms/op
computeDeltas 500000 validators 300 proto nodes 8.1027 ms/op
computeDeltas 500000 validators 1200 proto nodes 7.6255 ms/op
computeDeltas 500000 validators 7200 proto nodes 7.6663 ms/op
computeDeltas 750000 validators 300 proto nodes 10.427 ms/op
computeDeltas 750000 validators 1200 proto nodes 11.208 ms/op
computeDeltas 750000 validators 7200 proto nodes 11.086 ms/op
computeDeltas 1400000 validators 300 proto nodes 22.884 ms/op
computeDeltas 1400000 validators 1200 proto nodes 24.026 ms/op
computeDeltas 1400000 validators 7200 proto nodes 20.882 ms/op
computeDeltas 2100000 validators 300 proto nodes 34.209 ms/op
computeDeltas 2100000 validators 1200 proto nodes 31.260 ms/op
computeDeltas 2100000 validators 7200 proto nodes 32.167 ms/op
computeProposerBoostScoreFromBalances 500000 validators 4.2444 ms/op
computeProposerBoostScoreFromBalances 750000 validators 4.0792 ms/op
computeProposerBoostScoreFromBalances 1400000 validators 3.9727 ms/op
computeProposerBoostScoreFromBalances 2100000 validators 3.9388 ms/op
altair processAttestation - 250000 vs - 7PWei normalcase 3.9064 ms/op
altair processAttestation - 250000 vs - 7PWei worstcase 4.2927 ms/op
altair processAttestation - setStatus - 1/6 committees join 250.66 us/op
altair processAttestation - setStatus - 1/3 committees join 445.67 us/op
altair processAttestation - setStatus - 1/2 committees join 528.98 us/op
altair processAttestation - setStatus - 2/3 committees join 653.62 us/op
altair processAttestation - setStatus - 4/5 committees join 904.55 us/op
altair processAttestation - setStatus - 100% committees join 1.0832 ms/op
altair processBlock - 250000 vs - 7PWei normalcase 13.061 ms/op
altair processBlock - 250000 vs - 7PWei normalcase hashState 43.762 ms/op
altair processBlock - 250000 vs - 7PWei worstcase 43.818 ms/op
altair processBlock - 250000 vs - 7PWei worstcase hashState 123.86 ms/op
phase0 processBlock - 250000 vs - 7PWei normalcase 4.6617 ms/op
phase0 processBlock - 250000 vs - 7PWei worstcase 39.844 ms/op
altair processEth1Data - 250000 vs - 7PWei normalcase 2.9560 ms/op
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 19.909 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 71.994 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 24.356 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 16.379 us/op
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 204.92 us/op
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.5599 ms/op
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.9845 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.9968 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.6818 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.6277 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.6349 ms/op
Tree 40 250000 create 515.32 ms/op
Tree 40 250000 get(125000) 215.50 ns/op
Tree 40 250000 set(125000) 1.2260 us/op
Tree 40 250000 toArray() 23.885 ms/op
Tree 40 250000 iterate all - toArray() + loop 23.419 ms/op
Tree 40 250000 iterate all - get(i) 76.701 ms/op
MutableVector 250000 create 16.967 ms/op
MutableVector 250000 get(125000) 6.8710 ns/op
MutableVector 250000 set(125000) 301.46 ns/op
MutableVector 250000 toArray() 4.5172 ms/op
MutableVector 250000 iterate all - toArray() + loop 4.7182 ms/op
MutableVector 250000 iterate all - get(i) 1.6945 ms/op
Array 250000 create 4.2606 ms/op
Array 250000 clone - spread 1.4893 ms/op
Array 250000 get(125000) 1.2620 ns/op
Array 250000 set(125000) 4.9600 ns/op
Array 250000 iterate all - loop 176.90 us/op
effectiveBalanceIncrements clone Uint8Array 300000 82.850 us/op
effectiveBalanceIncrements clone MutableVector 300000 383.00 ns/op
effectiveBalanceIncrements rw all Uint8Array 300000 207.49 us/op
effectiveBalanceIncrements rw all MutableVector 300000 91.043 ms/op
phase0 afterProcessEpoch - 250000 vs - 7PWei 134.36 ms/op
phase0 beforeProcessEpoch - 250000 vs - 7PWei 55.867 ms/op
altair processEpoch - mainnet_e81889 507.82 ms/op
mainnet_e81889 - altair beforeProcessEpoch 90.744 ms/op
mainnet_e81889 - altair processJustificationAndFinalization 17.485 us/op
mainnet_e81889 - altair processInactivityUpdates 6.7534 ms/op
mainnet_e81889 - altair processRewardsAndPenalties 45.786 ms/op
mainnet_e81889 - altair processRegistryUpdates 3.2790 us/op
mainnet_e81889 - altair processSlashings 526.00 ns/op
mainnet_e81889 - altair processEth1DataReset 683.00 ns/op
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.3028 ms/op
mainnet_e81889 - altair processSlashingsReset 5.0240 us/op
mainnet_e81889 - altair processRandaoMixesReset 6.4900 us/op
mainnet_e81889 - altair processHistoricalRootsUpdate 1.2270 us/op
mainnet_e81889 - altair processParticipationFlagUpdates 4.0030 us/op
mainnet_e81889 - altair processSyncCommitteeUpdates 1.2450 us/op
mainnet_e81889 - altair afterProcessEpoch 127.36 ms/op
capella processEpoch - mainnet_e217614 3.0733 s/op
mainnet_e217614 - capella beforeProcessEpoch 709.42 ms/op
mainnet_e217614 - capella processJustificationAndFinalization 30.261 us/op
mainnet_e217614 - capella processInactivityUpdates 37.424 ms/op
mainnet_e217614 - capella processRewardsAndPenalties 559.80 ms/op
mainnet_e217614 - capella processRegistryUpdates 33.569 us/op
mainnet_e217614 - capella processSlashings 1.4720 us/op
mainnet_e217614 - capella processEth1DataReset 1.5380 us/op
mainnet_e217614 - capella processEffectiveBalanceUpdates 8.8126 ms/op
mainnet_e217614 - capella processSlashingsReset 5.0130 us/op
mainnet_e217614 - capella processRandaoMixesReset 10.908 us/op
mainnet_e217614 - capella processHistoricalRootsUpdate 730.00 ns/op
mainnet_e217614 - capella processParticipationFlagUpdates 3.1370 us/op
mainnet_e217614 - capella afterProcessEpoch 329.50 ms/op
phase0 processEpoch - mainnet_e58758 543.92 ms/op
mainnet_e58758 - phase0 beforeProcessEpoch 206.82 ms/op
mainnet_e58758 - phase0 processJustificationAndFinalization 27.884 us/op
mainnet_e58758 - phase0 processRewardsAndPenalties 43.018 ms/op
mainnet_e58758 - phase0 processRegistryUpdates 20.048 us/op
mainnet_e58758 - phase0 processSlashings 576.00 ns/op
mainnet_e58758 - phase0 processEth1DataReset 1.0050 us/op
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.3928 ms/op
mainnet_e58758 - phase0 processSlashingsReset 5.9920 us/op
mainnet_e58758 - phase0 processRandaoMixesReset 6.8690 us/op
mainnet_e58758 - phase0 processHistoricalRootsUpdate 919.00 ns/op
mainnet_e58758 - phase0 processParticipationRecordUpdates 5.2640 us/op
mainnet_e58758 - phase0 afterProcessEpoch 108.40 ms/op
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.1298 ms/op
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.8655 ms/op
altair processInactivityUpdates - 250000 normalcase 32.668 ms/op
altair processInactivityUpdates - 250000 worstcase 35.939 ms/op
phase0 processRegistryUpdates - 250000 normalcase 13.500 us/op
phase0 processRegistryUpdates - 250000 badcase_full_deposits 486.68 us/op
phase0 processRegistryUpdates - 250000 worstcase 0.5 138.92 ms/op
altair processRewardsAndPenalties - 250000 normalcase 49.863 ms/op
altair processRewardsAndPenalties - 250000 worstcase 63.544 ms/op
phase0 getAttestationDeltas - 250000 normalcase 15.498 ms/op
phase0 getAttestationDeltas - 250000 worstcase 14.638 ms/op
phase0 processSlashings - 250000 worstcase 140.82 us/op
altair processSyncCommitteeUpdates - 250000 181.10 ms/op
BeaconState.hashTreeRoot - No change 362.00 ns/op
BeaconState.hashTreeRoot - 1 full validator 179.37 us/op
BeaconState.hashTreeRoot - 32 full validator 2.1152 ms/op
BeaconState.hashTreeRoot - 512 full validator 22.177 ms/op
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 221.68 us/op
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 3.0325 ms/op
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 31.369 ms/op
BeaconState.hashTreeRoot - 1 balances 148.22 us/op
BeaconState.hashTreeRoot - 32 balances 1.5071 ms/op
BeaconState.hashTreeRoot - 512 balances 17.832 ms/op
BeaconState.hashTreeRoot - 250000 balances 248.03 ms/op
aggregationBits - 2048 els - zipIndexesInBitList 29.275 us/op
byteArrayEquals 32 90.038 ns/op
Buffer.compare 32 65.251 ns/op
byteArrayEquals 1024 2.9608 us/op
Buffer.compare 1024 83.653 ns/op
byteArrayEquals 16384 45.296 us/op
Buffer.compare 16384 408.18 ns/op
byteArrayEquals 123687377 278.46 ms/op
Buffer.compare 123687377 13.413 ms/op
byteArrayEquals 32 - diff last byte 101.07 ns/op
Buffer.compare 32 - diff last byte 66.559 ns/op
byteArrayEquals 1024 - diff last byte 2.5647 us/op
Buffer.compare 1024 - diff last byte 81.029 ns/op
byteArrayEquals 16384 - diff last byte 39.940 us/op
Buffer.compare 16384 - diff last byte 335.25 ns/op
byteArrayEquals 123687377 - diff last byte 270.72 ms/op
Buffer.compare 123687377 - diff last byte 14.909 ms/op
byteArrayEquals 32 - random bytes 8.4590 ns/op
Buffer.compare 32 - random bytes 76.495 ns/op
byteArrayEquals 1024 - random bytes 8.2490 ns/op
Buffer.compare 1024 - random bytes 72.549 ns/op
byteArrayEquals 16384 - random bytes 7.3120 ns/op
Buffer.compare 16384 - random bytes 68.650 ns/op
byteArrayEquals 123687377 - random bytes 26.350 ns/op
Buffer.compare 123687377 - random bytes 100.25 ns/op
regular array get 100000 times 55.044 us/op
wrappedArray get 100000 times 63.032 us/op
arrayWithProxy get 100000 times 22.628 ms/op
ssz.Root.equals 68.399 ns/op
byteArrayEquals 63.560 ns/op
Buffer.compare 19.325 ns/op
shuffle list - 16384 els 7.7167 ms/op
shuffle list - 250000 els 129.04 ms/op
processSlot - 1 slots 27.752 us/op
processSlot - 32 slots 4.8480 ms/op
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 67.835 ms/op
getCommitteeAssignments - req 1 vs - 250000 vc 2.7743 ms/op
getCommitteeAssignments - req 100 vs - 250000 vc 3.9904 ms/op
getCommitteeAssignments - req 1000 vs - 250000 vc 4.8993 ms/op
findModifiedValidators - 10000 modified validators 616.23 ms/op
findModifiedValidators - 1000 modified validators 499.60 ms/op
findModifiedValidators - 100 modified validators 463.90 ms/op
findModifiedValidators - 10 modified validators 452.28 ms/op
findModifiedValidators - 1 modified validators 425.74 ms/op
findModifiedValidators - no difference 444.19 ms/op
compare ViewDUs 5.2041 s/op
compare each validator Uint8Array 2.3290 s/op
compare ViewDU to Uint8Array 1.7327 s/op
migrate state 1000000 validators, 24 modified, 0 new 1.0750 s/op
migrate state 1000000 validators, 1700 modified, 1000 new 1.1482 s/op
migrate state 1000000 validators, 3400 modified, 2000 new 1.3333 s/op
migrate state 1500000 validators, 24 modified, 0 new 771.57 ms/op
migrate state 1500000 validators, 1700 modified, 1000 new 1.0894 s/op
migrate state 1500000 validators, 3400 modified, 2000 new 1.4012 s/op
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.8600 ns/op
state getBlockRootAtSlot - 250000 vs - 7PWei 702.70 ns/op
computeProposers - vc 250000 10.798 ms/op
computeEpochShuffling - vc 250000 107.24 ms/op
getNextSyncCommittee - vc 250000 170.21 ms/op
computeSigningRoot for AttestationData 29.625 us/op
hash AttestationData serialized data then Buffer.toString(base64) 2.4503 us/op
toHexString serialized data 1.2030 us/op
Buffer.toString(base64) 250.71 ns/op

by benchmarkbot/action

@philknows philknows closed this Jan 12, 2024
@philknows philknows deleted the rc/v1.14.0 branch January 12, 2024 17:47
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.