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.23.0 #7155

Closed
wants to merge 53 commits into from
Closed

chore: release v1.23.0 #7155

wants to merge 53 commits into from

Conversation

wemeetagain
Copy link
Member

No description provided.

twoeths and others added 30 commits September 12, 2024 08:34
* fix: avoid toHexString()

* fix: use toRootHex and toPubkeyHex where applicable
* fix: fromHexString() to fromHex()

* fix: throw error for NodeJS fromHex() if malformed string

* fix: correct hex value in sim test
…7085)

* fix: use bigint gwei type for amount in requests instead of num 64

* revert deposit amount to uintnum64 as unlikely to get a high amount

* fix
Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) from 6.2.2 to 6.3.0.
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)
- [Commits](pillarjs/path-to-regexp@v6.2.2...v6.3.0)

---
updated-dependencies:
- dependency-name: path-to-regexp
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [express](https://github.com/expressjs/express) from 4.19.2 to 4.21.0.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md)
- [Commits](expressjs/express@4.19.2...4.21.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.5 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](micromatch/micromatch@4.0.5...4.0.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [webpack](https://github.com/webpack/webpack) from 5.90.3 to 5.94.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](webpack/webpack@v5.90.3...v5.94.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.0.9 to 3.1.6.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](cure53/DOMPurify@3.0.9...3.1.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.3.4 to 5.3.6.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.3.6/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.3.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [find-my-way](https://github.com/delvedor/find-my-way) from 8.1.0 to 8.2.2.
- [Release notes](https://github.com/delvedor/find-my-way/releases)
- [Commits](delvedor/find-my-way@v8.1.0...v8.2.2)

---
updated-dependencies:
- dependency-name: find-my-way
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add constant

* Use constants

* Remove ZERO_NEXT_SYNC_COMMITTEE_BRANCH

* Add normalizeMerkleBranch

* add getId to CheckpointHeaderRepository

* fix: light-client unit tests

* chore: lint

* Fix normalizeMerkleBranch

* Enable LC spec test

* fix spec test

---------

Co-authored-by: NC <17676176+ensi321@users.noreply.github.com>
* feat: add ShufflingCache to EpochCache

* fix: implementation in state-transition for EpochCache with ShufflingCache

* feat: remove shufflingCache.processState

* feat: implement ShufflingCache changes in beacon-node

* feat: pass shufflingCache when loading cached state from db

* test: fix state-transition tests for EpochCache changes

* feat: Pass shufflingCache to EpochCache at startup

* test: fix slot off by one for decision root in perf test

* chore: use ?. syntax

* chore: refactoring

* feat: add comments and clean up afterProcessEpoch

* fix: perf test slot incrementing

* fix: remove MockShufflingCache

* Revert "chore: refactoring"

This reverts commit 104aa56.

* refactor: shufflingCache getters

* refactor: shufflingCache setters

* refactor: build and getOrBuild

* docs: add comments to ShufflingCache methods

* chore: lint issues

* test: update tests in beacon-node

* chore: lint

* feat: get shufflings from cache for API

* feat: minTimeDelayToBuildShuffling cli flag

* test: fix shufflingCache promise insertion test

* fix: rebase conflicts

* fix: changes from debugging sim tests

* refactor: minimize changes in afterProcessEpoch

* chore: fix lint

* chore: fix check-types

* chore: fix check-types

* feat: add diff utility

* fix: bug in spec tests from invalid nextActiveIndices

* refactor: add/remove comments

* refactor: remove this.activeIndicesLength from EpochCache

* refactor: simplify shufflingCache.getSync

* refactor: remove unnecessary undefined's

* refactor: clean up ShufflingCache unit test

* feat: add metrics for ShufflingCache

* feat: add shufflingCache metrics to state-transition

* chore: lint

* fix: metric name clash

* refactor: add comment about not having ShufflingCache in EpochCache

* refactor: rename shuffling decision root functions

* refactor: remove unused comment

* feat: async add nextShuffling to EpochCache after its built

* feat: make ShufflingCache.set private

* feat: chance metrics to nextShufflingNotOnEpochCache instead of positive case

* refactor: move diff to separate PR

* chore: fix tests using shufflingCache.set method

* feat: remove minTimeDelayToBuild

* feat: return promise from insertPromise and then through build

* fix: update metrics names and help field

* feat: move build of shuffling to beforeProcessEpoch

* feat: allow calc of pivot slot before slot increment

* fix: calc of pivot slot before slot increment

* Revert "fix: calc of pivot slot before slot increment"

This reverts commit 5e65f7e.

* Revert "feat: allow calc of pivot slot before slot increment"

This reverts commit ed850ee.

* feat: allow getting current block root for shuffling calculation

* fix: get nextShufflingDecisionRoot directly from state.blockRoots

* fix: convert toRootHex

* docs: add comment about pulling decisionRoot directly from state

* feat: add back metrics for regen attestation cache hit/miss

* docs: fix docstring on shufflingCache.build

* refactor: change validatorIndices to Uint32Array

* refactor: remove comment and change variable name

* fix: use toRootHex instead of toHexString

* refactor: deduplicate moved function computeAnchorCheckpoint

* fix: touch up metrics per PR comments

* fix: merge conflict

* chore: lint

* refactor: add scope around activeIndices to GC arrays

* feat: directly use Uint32Array instead of transcribing number array to Uint32Array

* refactor: activeIndices per tuyen comment

* refactor: rename to epochAfterNext

* chore: review PR

* feat: update no shuffling ApiError to 500 status

* fix: add back unnecessary eslint directive. to be remove under separate PR

* feat: update no shuffling ApiError to 500 status

* docs: add comment about upcomingEpoch

---------

Co-authored-by: Cayman <caymannava@gmail.com>
Co-authored-by: Tuyen Nguyen <vutuyen2636@gmail.com>
* chore: upgrade fastify to v5

* Upgrade fastify plugins

* Clean up yarn lock
* Move requests from payload to block body

* Lint

* Add execution requests to engine api

* Remove engine_getPayloadBodies*V2

* Update spec test version

* Lint

* Fix unit test and polish

* Remove todo
* feat: use POST variant to get validators from state

* Fix api handler used during testing

* Update more calls to use POST variant
* fix: release memory to BufferPool

* fix: correct the serializeState metric

* fix: check types

* chore: fix lint
* feat: add validator identities endpoint

* Test against official spec release from beacon-apis repo

* Prepopulate validatorIdentities in else clause

* Log warning if validator index can't be resolved
* Update slashing calculation to be more aligned with spec style

* Update calculation

* Lint

* Fix rounding issue

* Update calculation

* Enable slashing spec test

* lint
* feat: use napi-rs pubkey-index-map

* fix: export toMemoryEfficientHexStr()

* fix: state-transition CachedBeaconState unit test

* chore: remove commented code
* fix: default params of n-historical-states config

* chore: improve log

* feat: enable nHistoricalStates by default

* chore: fix typo in log
nflaig and others added 23 commits October 2, 2024 15:05
* fix: update HTTP error response format to be spec compliant

* Fix error assertions

* Remove group tag from keymanager option

* Fix body has already been read

* Assert deepEqual
* fix: update HTTP error response format to be spec compliant

* Fix error assertions

* Remove group tag from keymanager option

* Fix body has already been read

* Assert deepEqual

* fix: update multiple api errors to be spec compliant

* Reorder test cases

* Update res numbering

* Use strict deep equal
* chore: remove beaconAttestationBatchValidation flag

* chore: refactor SequentialGossipHandlers vs BatchGossipHandlers

* chore: remove unused validateGossipAttestation() function

* chore: lint

* chore: fix lint

* chore: SequentialGossipType vs BatchGossipType

* chore: simplify getGossipHandlers()
add drips network ownership address
Bumps [rollup](https://github.com/rollup/rollup) from 4.16.1 to 4.22.4.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](rollup/rollup@v4.16.1...v4.22.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.5 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](micromatch/micromatch@4.0.5...4.0.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: allow to disable peer discovery / discv5

* Explicitly check for false
* Replace eslint with biomejs

* Update the inclusion of word

* Fix the formatting

* Update the lint task to do all checks

* Update biome rules from eslint config

* Replace eslint with biomejs

* Update the inclusion of word

* Fix the formatting

* Update the lint task to do all checks

* Update biome rules from eslint config

* Fix all lint issues

* Fix formatting

* Add extension recomendation for vscode

* Enable recommended rules

* Enable rule noUselessSwitchCase

* Enable rule noUselessConstructor

* Fix the types

* Fix unit tests

* Enforce import extensions

* Update the cli command

* Enforce useConsistentMemberAccessibility

* Update rules

* Fix rules

* Upgrade biomejs to latest version

* Update the rules

* Update and format the config file

* Fix types break during merge

* Fix unused check

* Add comment for explicit-return-type

* Remove eslint file

* Add _e objects for empty catch blocks

* Update formatter config

* Fix formatting
)

* Fix ValidatorStatus type issue

* refactor: use switch-case and typed general validator status mapping

* Update packages/beacon-node/src/api/impl/beacon/state/utils.ts

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

* refactor: deleted unrelated code

* refactor: deleted unrelated code

* Update packages/beacon-node/src/api/impl/beacon/state/utils.ts

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

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
* chore: remove 'active' from validator status type

* Clean up usage
* fix: reuse deltas in computeDeltas

* fix: remodel queuedAttestations

* fix: call forkchoice.updateTime() once per clock slot

* fix: recomputeForkChoiceHead() at slot boundary

* fix: improve computeDeltas() - handle newBalances = oldBalances

* fix: do not compute forkchoice head at slot boundary

* fix: prepareNextSlot unit test
* Add vscode settings to split prettier and biome

* Add whitespace

* Fix branch name
* feat: support fetching historical proposer duties

* Clone state before creating cached beacon state

* Fix error message

* Update test cases

* Skip syncing pubkeys and sync committe cache

* Update proposers tests epoch

* Use switch/case instead of if/else

* Add comment to clarify when head state can be used

* Use loadState instead of creating a separate ViewDU

* Clarify not yet initialized error for prev proposer duties

* Assert loaded state epoch matches requested
* feat: add temp-deps to test on feat group

* feat: add build_temp_deps.sh process

* feat: use async for shuffling in epoch transition

* feat: use v0.0.1 instead of temp-deps

* chore: lint and check-types

* fix: log error context

* refactor: use toHex

* fix: address computeEpochShuffling refactor comments

* test: remove perf tests that were moved to swp-or-not-shuffle package

* test: add strict equal check for sync/async computeEpochShuffling impls

* Revert "refactor: use toHex"

This reverts commit 9d64b67.

* fix: EpochShuffling ssz type issue

* feat: upgrade swap-or-not to 0.0.2

* refactor: buildCommitteesFromShuffling

* docs: add TODO about removing state from shuffling computation

* docs: add TODO about removing state from shuffling computation
* chore: upgrade to js-libp2p 2.0

* chore: bump libp2p versions

* chore: fix up yarn lock

* chore: fix some tests

* chore: fix connection map

* feat: gossipsub v1.2

* chore: bump libp2p

* chore: tweak idontwantMinDataSize

* chore: bump libp2p deps
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 6a8ec2a Previous: - Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.2348 ms/op
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 69.938 us/op
BLS verify - blst 960.64 us/op
BLS verifyMultipleSignatures 3 - blst 1.3244 ms/op
BLS verifyMultipleSignatures 8 - blst 2.2069 ms/op
BLS verifyMultipleSignatures 32 - blst 5.3190 ms/op
BLS verifyMultipleSignatures 64 - blst 9.5651 ms/op
BLS verifyMultipleSignatures 128 - blst 17.923 ms/op
BLS deserializing 10000 signatures 647.75 ms/op
BLS deserializing 100000 signatures 6.6353 s/op
BLS verifyMultipleSignatures - same message - 3 - blst 948.06 us/op
BLS verifyMultipleSignatures - same message - 8 - blst 1.0325 ms/op
BLS verifyMultipleSignatures - same message - 32 - blst 1.7132 ms/op
BLS verifyMultipleSignatures - same message - 64 - blst 2.4298 ms/op
BLS verifyMultipleSignatures - same message - 128 - blst 4.1222 ms/op
BLS aggregatePubkeys 32 - blst 18.982 us/op
BLS aggregatePubkeys 128 - blst 65.855 us/op
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 69.580 ms/op
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 41.201 ms/op
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 36.246 ms/op
getSlashingsAndExits - default max 66.157 us/op
getSlashingsAndExits - 2k 314.49 us/op
proposeBlockBody type=full, size=empty 5.9063 ms/op
isKnown best case - 1 super set check 699.00 ns/op
isKnown normal case - 2 super set checks 558.00 ns/op
isKnown worse case - 16 super set checks 488.00 ns/op
InMemoryCheckpointStateCache - add get delete 3.0450 us/op
updateUnfinalizedPubkeys - updating 10 pubkeys 1.1423 ms/op
updateUnfinalizedPubkeys - updating 100 pubkeys 3.9137 ms/op
updateUnfinalizedPubkeys - updating 1000 pubkeys 43.342 ms/op
validate api signedAggregateAndProof - struct 1.6229 ms/op
validate gossip signedAggregateAndProof - struct 1.5062 ms/op
batch validate gossip attestation - vc 640000 - chunk 32 139.00 us/op
batch validate gossip attestation - vc 640000 - chunk 64 115.53 us/op
batch validate gossip attestation - vc 640000 - chunk 128 109.99 us/op
batch validate gossip attestation - vc 640000 - chunk 256 112.12 us/op
pickEth1Vote - no votes 971.91 us/op
pickEth1Vote - max votes 6.9009 ms/op
pickEth1Vote - Eth1Data hashTreeRoot value x2048 14.998 ms/op
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 26.807 ms/op
pickEth1Vote - Eth1Data fastSerialize value x2048 456.68 us/op
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.9360 ms/op
bytes32 toHexString 698.00 ns/op
bytes32 Buffer.toString(hex) 470.00 ns/op
bytes32 Buffer.toString(hex) from Uint8Array 669.00 ns/op
bytes32 Buffer.toString(hex) + 0x 464.00 ns/op
Object access 1 prop 0.36900 ns/op
Map access 1 prop 0.33200 ns/op
Object get x1000 5.2600 ns/op
Map get x1000 5.9460 ns/op
Object set x1000 25.014 ns/op
Map set x1000 20.381 ns/op
Return object 10000 times 0.31140 ns/op
Throw Error 10000 times 2.7852 us/op
toHex 120.60 ns/op
Buffer.from 109.28 ns/op
shared Buffer 90.522 ns/op
fastMsgIdFn sha256 / 200 bytes 2.3650 us/op
fastMsgIdFn h32 xxhash / 200 bytes 601.00 ns/op
fastMsgIdFn h64 xxhash / 200 bytes 572.00 ns/op
fastMsgIdFn sha256 / 1000 bytes 10.272 us/op
fastMsgIdFn h32 xxhash / 1000 bytes 760.00 ns/op
fastMsgIdFn h64 xxhash / 1000 bytes 605.00 ns/op
fastMsgIdFn sha256 / 10000 bytes 49.922 us/op
fastMsgIdFn h32 xxhash / 10000 bytes 2.0470 us/op
fastMsgIdFn h64 xxhash / 10000 bytes 1.3900 us/op
send data - 1000 256B messages 12.455 ms/op
send data - 1000 512B messages 16.396 ms/op
send data - 1000 1024B messages 27.397 ms/op
send data - 1000 1200B messages 28.534 ms/op
send data - 1000 2048B messages 33.889 ms/op
send data - 1000 4096B messages 34.052 ms/op
send data - 1000 16384B messages 72.438 ms/op
send data - 1000 65536B messages 307.32 ms/op
enrSubnets - fastDeserialize 64 bits 1.1790 us/op
enrSubnets - ssz BitVector 64 bits 540.00 ns/op
enrSubnets - fastDeserialize 4 bits 345.00 ns/op
enrSubnets - ssz BitVector 4 bits 551.00 ns/op
prioritizePeers score -10:0 att 32-0.1 sync 2-0 256.39 us/op
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 353.51 us/op
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 565.42 us/op
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 906.28 us/op
prioritizePeers score 0:0 att 64-1 sync 4-1 834.49 us/op
array of 16000 items push then shift 1.3438 us/op
LinkedList of 16000 items push then shift 8.5120 ns/op
array of 16000 items push then pop 126.53 ns/op
LinkedList of 16000 items push then pop 6.6090 ns/op
array of 24000 items push then shift 2.0487 us/op
LinkedList of 24000 items push then shift 8.0670 ns/op
array of 24000 items push then pop 169.70 ns/op
LinkedList of 24000 items push then pop 6.4230 ns/op
intersect bitArray bitLen 8 5.4800 ns/op
intersect array and set length 8 44.570 ns/op
intersect bitArray bitLen 128 27.193 ns/op
intersect array and set length 128 642.09 ns/op
bitArray.getTrueBitIndexes() bitLen 128 2.4600 us/op
bitArray.getTrueBitIndexes() bitLen 248 3.8720 us/op
bitArray.getTrueBitIndexes() bitLen 512 6.4300 us/op
Buffer.concat 32 items 984.00 ns/op
Uint8Array.set 32 items 1.5330 us/op
Buffer.copy 2.0140 us/op
Uint8Array.set - with subarray 2.5610 us/op
Uint8Array.set - without subarray 1.9750 us/op
getUint32 - dataview 505.00 ns/op
getUint32 - manual 350.00 ns/op
Set add up to 64 items then delete first 1.8347 us/op
OrderedSet add up to 64 items then delete first 2.9100 us/op
Set add up to 64 items then delete last 2.1323 us/op
OrderedSet add up to 64 items then delete last 3.1674 us/op
Set add up to 64 items then delete middle 2.1221 us/op
OrderedSet add up to 64 items then delete middle 4.8391 us/op
Set add up to 128 items then delete first 4.4194 us/op
OrderedSet add up to 128 items then delete first 6.6300 us/op
Set add up to 128 items then delete last 4.0299 us/op
OrderedSet add up to 128 items then delete last 6.1759 us/op
Set add up to 128 items then delete middle 4.0541 us/op
OrderedSet add up to 128 items then delete middle 12.057 us/op
Set add up to 256 items then delete first 8.3840 us/op
OrderedSet add up to 256 items then delete first 13.108 us/op
Set add up to 256 items then delete last 7.7929 us/op
OrderedSet add up to 256 items then delete last 12.375 us/op
Set add up to 256 items then delete middle 7.8324 us/op
OrderedSet add up to 256 items then delete middle 39.052 us/op
transfer serialized Status (84 B) 1.6500 us/op
copy serialized Status (84 B) 1.3840 us/op
transfer serialized SignedVoluntaryExit (112 B) 1.5040 us/op
copy serialized SignedVoluntaryExit (112 B) 1.3930 us/op
transfer serialized ProposerSlashing (416 B) 1.6660 us/op
copy serialized ProposerSlashing (416 B) 1.6940 us/op
transfer serialized Attestation (485 B) 1.6980 us/op
copy serialized Attestation (485 B) 1.6630 us/op
transfer serialized AttesterSlashing (33232 B) 1.7320 us/op
copy serialized AttesterSlashing (33232 B) 3.9090 us/op
transfer serialized Small SignedBeaconBlock (128000 B) 2.0700 us/op
copy serialized Small SignedBeaconBlock (128000 B) 10.608 us/op
transfer serialized Avg SignedBeaconBlock (200000 B) 2.2430 us/op
copy serialized Avg SignedBeaconBlock (200000 B) 14.134 us/op
transfer serialized BlobsSidecar (524380 B) 2.7950 us/op
copy serialized BlobsSidecar (524380 B) 127.96 us/op
transfer serialized Big SignedBeaconBlock (1000000 B) 3.3370 us/op
copy serialized Big SignedBeaconBlock (1000000 B) 168.77 us/op
pass gossip attestations to forkchoice per slot 2.5660 ms/op
forkChoice updateHead vc 100000 bc 64 eq 0 375.34 us/op
forkChoice updateHead vc 600000 bc 64 eq 0 2.4322 ms/op
forkChoice updateHead vc 1000000 bc 64 eq 0 4.0833 ms/op
forkChoice updateHead vc 600000 bc 320 eq 0 2.2445 ms/op
forkChoice updateHead vc 600000 bc 1200 eq 0 2.2612 ms/op
forkChoice updateHead vc 600000 bc 7200 eq 0 2.9743 ms/op
forkChoice updateHead vc 600000 bc 64 eq 1000 9.5402 ms/op
forkChoice updateHead vc 600000 bc 64 eq 10000 9.4394 ms/op
forkChoice updateHead vc 600000 bc 64 eq 300000 11.847 ms/op
computeDeltas 500000 validators 300 proto nodes 3.4809 ms/op
computeDeltas 500000 validators 1200 proto nodes 3.4831 ms/op
computeDeltas 500000 validators 7200 proto nodes 3.3378 ms/op
computeDeltas 750000 validators 300 proto nodes 5.0802 ms/op
computeDeltas 750000 validators 1200 proto nodes 4.9624 ms/op
computeDeltas 750000 validators 7200 proto nodes 4.9255 ms/op
computeDeltas 1400000 validators 300 proto nodes 9.2297 ms/op
computeDeltas 1400000 validators 1200 proto nodes 9.5360 ms/op
computeDeltas 1400000 validators 7200 proto nodes 9.4616 ms/op
computeDeltas 2100000 validators 300 proto nodes 14.165 ms/op
computeDeltas 2100000 validators 1200 proto nodes 14.518 ms/op
computeDeltas 2100000 validators 7200 proto nodes 14.571 ms/op
altair processAttestation - 250000 vs - 7PWei normalcase 1.4857 ms/op
altair processAttestation - 250000 vs - 7PWei worstcase 2.4594 ms/op
altair processAttestation - setStatus - 1/6 committees join 82.433 us/op
altair processAttestation - setStatus - 1/3 committees join 151.27 us/op
altair processAttestation - setStatus - 1/2 committees join 194.28 us/op
altair processAttestation - setStatus - 2/3 committees join 270.52 us/op
altair processAttestation - setStatus - 4/5 committees join 403.12 us/op
altair processAttestation - setStatus - 100% committees join 483.08 us/op
altair processBlock - 250000 vs - 7PWei normalcase 3.9547 ms/op
altair processBlock - 250000 vs - 7PWei normalcase hashState 30.746 ms/op
altair processBlock - 250000 vs - 7PWei worstcase 35.340 ms/op
altair processBlock - 250000 vs - 7PWei worstcase hashState 68.462 ms/op
phase0 processBlock - 250000 vs - 7PWei normalcase 1.9772 ms/op
phase0 processBlock - 250000 vs - 7PWei worstcase 23.729 ms/op
altair processEth1Data - 250000 vs - 7PWei normalcase 269.81 us/op
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 5.6160 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 31.987 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 8.8540 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 6.0900 us/op
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 134.10 us/op
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.0026 ms/op
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.2123 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.3027 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.6234 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.2400 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.0662 ms/op
Tree 40 250000 create 182.58 ms/op
Tree 40 250000 get(125000) 124.36 ns/op
Tree 40 250000 set(125000) 552.77 ns/op
Tree 40 250000 toArray() 10.026 ms/op
Tree 40 250000 iterate all - toArray() + loop 10.425 ms/op
Tree 40 250000 iterate all - get(i) 43.394 ms/op
Array 250000 create 2.4929 ms/op
Array 250000 clone - spread 1.4207 ms/op
Array 250000 get(125000) 0.57800 ns/op
Array 250000 set(125000) 0.59600 ns/op
Array 250000 iterate all - loop 77.517 us/op
phase0 afterProcessEpoch - 250000 vs - 7PWei 43.145 ms/op
Array.fill - length 1000000 2.7671 ms/op
Array push - length 1000000 14.554 ms/op
Array.get 0.26957 ns/op
Uint8Array.get 0.35689 ns/op
phase0 beforeProcessEpoch - 250000 vs - 7PWei 17.372 ms/op
altair processEpoch - mainnet_e81889 261.43 ms/op
mainnet_e81889 - altair beforeProcessEpoch 17.988 ms/op
mainnet_e81889 - altair processJustificationAndFinalization 14.256 us/op
mainnet_e81889 - altair processInactivityUpdates 4.3542 ms/op
mainnet_e81889 - altair processRewardsAndPenalties 50.707 ms/op
mainnet_e81889 - altair processRegistryUpdates 1.9170 us/op
mainnet_e81889 - altair processSlashings 755.00 ns/op
mainnet_e81889 - altair processEth1DataReset 774.00 ns/op
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.4867 ms/op
mainnet_e81889 - altair processSlashingsReset 3.5050 us/op
mainnet_e81889 - altair processRandaoMixesReset 6.9570 us/op
mainnet_e81889 - altair processHistoricalRootsUpdate 1.0870 us/op
mainnet_e81889 - altair processParticipationFlagUpdates 4.2450 us/op
mainnet_e81889 - altair processSyncCommitteeUpdates 785.00 ns/op
mainnet_e81889 - altair afterProcessEpoch 45.145 ms/op
capella processEpoch - mainnet_e217614 926.51 ms/op
mainnet_e217614 - capella beforeProcessEpoch 66.879 ms/op
mainnet_e217614 - capella processJustificationAndFinalization 17.971 us/op
mainnet_e217614 - capella processInactivityUpdates 12.517 ms/op
mainnet_e217614 - capella processRewardsAndPenalties 256.89 ms/op
mainnet_e217614 - capella processRegistryUpdates 15.875 us/op
mainnet_e217614 - capella processSlashings 921.00 ns/op
mainnet_e217614 - capella processEth1DataReset 756.00 ns/op
mainnet_e217614 - capella processEffectiveBalanceUpdates 16.167 ms/op
mainnet_e217614 - capella processSlashingsReset 3.5980 us/op
mainnet_e217614 - capella processRandaoMixesReset 5.7810 us/op
mainnet_e217614 - capella processHistoricalRootsUpdate 1.8710 us/op
mainnet_e217614 - capella processParticipationFlagUpdates 2.8880 us/op
mainnet_e217614 - capella afterProcessEpoch 104.87 ms/op
phase0 processEpoch - mainnet_e58758 320.47 ms/op
mainnet_e58758 - phase0 beforeProcessEpoch 80.132 ms/op
mainnet_e58758 - phase0 processJustificationAndFinalization 16.208 us/op
mainnet_e58758 - phase0 processRewardsAndPenalties 27.372 ms/op
mainnet_e58758 - phase0 processRegistryUpdates 7.1150 us/op
mainnet_e58758 - phase0 processSlashings 839.00 ns/op
mainnet_e58758 - phase0 processEth1DataReset 729.00 ns/op
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 872.67 us/op
mainnet_e58758 - phase0 processSlashingsReset 3.4220 us/op
mainnet_e58758 - phase0 processRandaoMixesReset 5.6690 us/op
mainnet_e58758 - phase0 processHistoricalRootsUpdate 755.00 ns/op
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.9620 us/op
mainnet_e58758 - phase0 afterProcessEpoch 35.546 ms/op
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.0094 ms/op
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.6377 ms/op
altair processInactivityUpdates - 250000 normalcase 17.941 ms/op
altair processInactivityUpdates - 250000 worstcase 16.939 ms/op
phase0 processRegistryUpdates - 250000 normalcase 5.4930 us/op
phase0 processRegistryUpdates - 250000 badcase_full_deposits 297.11 us/op
phase0 processRegistryUpdates - 250000 worstcase 0.5 120.77 ms/op
altair processRewardsAndPenalties - 250000 normalcase 46.517 ms/op
altair processRewardsAndPenalties - 250000 worstcase 37.163 ms/op
phase0 getAttestationDeltas - 250000 normalcase 7.9373 ms/op
phase0 getAttestationDeltas - 250000 worstcase 7.1628 ms/op
phase0 processSlashings - 250000 worstcase 81.202 us/op
altair processSyncCommitteeUpdates - 250000 102.26 ms/op
BeaconState.hashTreeRoot - No change 450.00 ns/op
BeaconState.hashTreeRoot - 1 full validator 142.74 us/op
BeaconState.hashTreeRoot - 32 full validator 955.64 us/op
BeaconState.hashTreeRoot - 512 full validator 10.452 ms/op
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 144.38 us/op
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.0138 ms/op
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 23.383 ms/op
BeaconState.hashTreeRoot - 1 balances 86.297 us/op
BeaconState.hashTreeRoot - 32 balances 755.37 us/op
BeaconState.hashTreeRoot - 512 balances 6.9676 ms/op
BeaconState.hashTreeRoot - 250000 balances 186.38 ms/op
aggregationBits - 2048 els - zipIndexesInBitList 23.721 us/op
byteArrayEquals 32 49.764 ns/op
Buffer.compare 32 16.439 ns/op
byteArrayEquals 1024 1.3172 us/op
Buffer.compare 1024 24.673 ns/op
byteArrayEquals 16384 21.063 us/op
Buffer.compare 16384 198.36 ns/op
byteArrayEquals 123687377 152.26 ms/op
Buffer.compare 123687377 7.1009 ms/op
byteArrayEquals 32 - diff last byte 48.299 ns/op
Buffer.compare 32 - diff last byte 15.581 ns/op
byteArrayEquals 1024 - diff last byte 1.2676 us/op
Buffer.compare 1024 - diff last byte 22.638 ns/op
byteArrayEquals 16384 - diff last byte 20.217 us/op
Buffer.compare 16384 - diff last byte 216.23 ns/op
byteArrayEquals 123687377 - diff last byte 151.35 ms/op
Buffer.compare 123687377 - diff last byte 4.0879 ms/op
byteArrayEquals 32 - random bytes 4.8050 ns/op
Buffer.compare 32 - random bytes 16.909 ns/op
byteArrayEquals 1024 - random bytes 4.7960 ns/op
Buffer.compare 1024 - random bytes 16.890 ns/op
byteArrayEquals 16384 - random bytes 4.8180 ns/op
Buffer.compare 16384 - random bytes 16.889 ns/op
byteArrayEquals 123687377 - random bytes 7.6700 ns/op
Buffer.compare 123687377 - random bytes 20.130 ns/op
regular array get 100000 times 30.681 us/op
wrappedArray get 100000 times 30.838 us/op
arrayWithProxy get 100000 times 10.052 ms/op
ssz.Root.equals 43.457 ns/op
byteArrayEquals 38.473 ns/op
Buffer.compare 9.6350 ns/op
processSlot - 1 slots 12.405 us/op
processSlot - 32 slots 2.1113 ms/op
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 42.236 ms/op
getCommitteeAssignments - req 1 vs - 250000 vc 1.8007 ms/op
getCommitteeAssignments - req 100 vs - 250000 vc 3.5617 ms/op
getCommitteeAssignments - req 1000 vs - 250000 vc 3.7854 ms/op
findModifiedValidators - 10000 modified validators 237.42 ms/op
findModifiedValidators - 1000 modified validators 150.35 ms/op
findModifiedValidators - 100 modified validators 134.51 ms/op
findModifiedValidators - 10 modified validators 147.05 ms/op
findModifiedValidators - 1 modified validators 139.24 ms/op
findModifiedValidators - no difference 148.12 ms/op
compare ViewDUs 3.0770 s/op
compare each validator Uint8Array 1.1773 s/op
compare ViewDU to Uint8Array 787.22 ms/op
migrate state 1000000 validators, 24 modified, 0 new 670.19 ms/op
migrate state 1000000 validators, 1700 modified, 1000 new 872.80 ms/op
migrate state 1000000 validators, 3400 modified, 2000 new 1.1526 s/op
migrate state 1500000 validators, 24 modified, 0 new 705.74 ms/op
migrate state 1500000 validators, 1700 modified, 1000 new 841.89 ms/op
migrate state 1500000 validators, 3400 modified, 2000 new 988.54 ms/op
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.9500 ns/op
state getBlockRootAtSlot - 250000 vs - 7PWei 563.74 ns/op
computeProposers - vc 250000 5.2405 ms/op
computeEpochShuffling - vc 250000 34.659 ms/op
getNextSyncCommittee - vc 250000 96.644 ms/op
computeSigningRoot for AttestationData 16.535 us/op
hash AttestationData serialized data then Buffer.toString(base64) 1.2182 us/op
toHexString serialized data 784.15 ns/op
Buffer.toString(base64) 148.00 ns/op
nodejs block root to RootHex using toHex 128.98 ns/op
nodejs block root to RootHex using toRootHex 78.764 ns/op
browser block root to RootHex using the deprecated toHexString 212.38 ns/op
browser block root to RootHex using toHex 173.61 ns/op
browser block root to RootHex using toRootHex 151.41 ns/op

by benchmarkbot/action

@wemeetagain wemeetagain deleted the rc/v1.23.0 branch October 29, 2024 21:00
@wemeetagain
Copy link
Member Author

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.

9 participants