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.13.0 #6204

Merged
merged 56 commits into from
Dec 21, 2023
Merged

chore: release v1.13.0 #6204

merged 56 commits into from
Dec 21, 2023

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented Dec 19, 2023

Motivation

Create release for v1.13.0

Description

Replace #6189

twoeths and others added 30 commits November 8, 2023 15:05
* fix: do not consume checkpoint state in waitForCheckpointState

* chore: add more comments
This is a continuation of #6019
There is an additional fix needed, where tx.input support is added in case input is used instead of data
* Add build workflow for debug nodejs

* Update the copy task

* Add dynamic number of cpus

* Copy the node binary
* chore: Add tests for utils toHex

* chore: Add tests for utils fromHex

* chore: Add tests for utils toHexString

* chore: enhance tests for bytes utils

* fix: fix lint warning

* fix: udpate to.be => to.deep

* chore: adjust tests output message
* Add support for core dump

* Increase the ulimit for the debugger

* Refactor the action steps as tasks

* Refactor the action steps as tasks

* Update the action path

* Update the action path

* Fix the syntax error

* Fix the conditions
* write heap snapshot to network/discv5 thread

* chore: refactor to specify file name prefix in a single place

* fix: writeDiscv5HeapSnapshot to take 2 params
* Fix `hexToBuffer` bug

Related to this "documented behavior" quirk of `Buffer.from`:
nodejs/node#21242

* Fix lint

* Implement in multiple lines
* feat: implement ShufflingCache

* fix: get shuffling decision block at genesis state

* chore: use flatMap()
…6131)

* fix: logtrack produced cache population for blinded block assembley

* add a bit more of log

* cleanup

* remove redundant log
* Add manual segfault

* Find all files matching the core pattern

Update core dump path

Update core dump path

Update the core dump file path

Update the core dump file path

Remove node-modules from core dump

Log node features to verify debug is enabled

Revert "Add manual segfault"

This reverts commit 3021866.

Update the path for the core-dump

Add comment for the naming convention

Update the core dump path

Trigger segfault to verify

Update the core path command

Update limit order to be in same task

Run every command in one action

Run every command in one action

Run yarn with a given node binary

Run the tests with sudo

Run the tests with sudo

Change the order of runs for quick feedback

Change the order of runs for quick feedback

Change the order of runs for quick feedback

Copy node for the sudo user

Update the node path

Restructure node debug tasks

Add exec permission to node debug

Revert "Trigger segfault to verify"

This reverts commit 68a3ef0.

* Fix the type check task

* Add comments
* feat: update slashingPenalties in processRewardsAndPenalties

* feat: cache totalSlashingsByIncrement for processSlashings

* feat: store state.slashings as number[]

* chore: update processSlashingsAllForks.test.ts perf test

* chore: handle undefined state.slashings[index] just in case

* chore: give reasoning on how UintNum64 is good for state.slashings

* chore: check network params in processEpoch()
* feat: support remote signer in voluntary exit command

* Pin web3signer version

* Reuse existing Signer type

* Update command description, examples

* Update error message when signers.length 0

* Use getKeystoresStr in test

* Undo adding explicit externalSigner.* options

* Remove extra line from description, example is sufficient

* Deduplicate, implement startExternalSigner

* Fix "before" test naming

* Install same version of bls packages in test-utils

* Remove abort controller from tests

* Move web3signer supported fork seq const to test-utils

* Remove testcontaines from validator package

* Update example command

Co-authored-by: Nico Flaig <[email protected]>

* Move dockerode types to test-utils

* Add test-utils to validator dev dependencies

---------

Co-authored-by: Nico Flaig <[email protected]>
…es (#6147)

* fix: add log for blockroot being signed for debugging proposal failures

* sligh improv

* add slot to log
…6149)

* feat: implement consensus broadcastValidation and set it to default

* throw on eerror

* add comment

* fix build error

* handle unknown parent

* add meta for log

* shift default to gossip and add jsdoc

* fix case scope

* remove todo
nazarhussain and others added 20 commits December 7, 2023 14:32
* Fix the failing sim tests

* Update the uknown sync tolerance

* Fix some typos

* Fix failing unit tests

* Update the comment

* Update the warning message

* Remove the warn message

* Increase the slot tolerance to make sure it always higher than head of other nodes

* Fix typo
* chore: added extra error logs when gdu is not installed

* chore: improves prerequisites for osx

* chore: fixed spelling

* chore: update list symbol

Co-authored-by: Nico Flaig <[email protected]>

* chore: update quote type

Co-authored-by: Nico Flaig <[email protected]>

* chore: fix lint issue

* chore: added extra words to wordlist

* chore: fixed wordlist order

* chore: fix wording

Co-authored-by: Matthew Keil <[email protected]>

* chore: fix wording

Co-authored-by: Matthew Keil <[email protected]>

* fix: revert linking to CONTRIBUTING for prerequisites

---------

Co-authored-by: Nico Flaig <[email protected]>
Co-authored-by: Matthew Keil <[email protected]>
* fix: do not URI-encode Basic Auth header contents

* fix: do not expose username/password outside httpClient class
* fix: persist invalid blocks when publish

* feat: add option to persist produced blocks

* chore: log body root when publishing block
* Automatic assertion migration

* Fix some left over assertions

* Remove sinon

* Add config files

* Move browser tests to vitest

* Fix browser tests

* Add a skip lib check for now

* Fix the spellings

* Fix deprecated flags

* Fix types

* Update the script tasks

* Fix the e2e tests

* Fix e2e tests

* Update webdriverio to fix browser installtion issue

* Fix the vitest config

* Add a peer dependency

* Add vite resolution

* Add a manual install for browsers

* Update packages to support additional browser options

* Update the resolutions

* Add resolutions to fix dependencies

* Update the yarn linter script

* Add sigfault handler

* Rebuild native modules with debug flag

* Update depedencies

* Update e2e tests

* Update dependencies

* Add browser capabilities

* Revert a whitespace change

* Remove segfault handler

* Remove native dep for lightclient

* Add debug flag to introspect error

* Rename a file

* Upgrade the vitest package

* Fix the regressions introduced in vitest 1 >

* Revert the regression of vitest 1.0.1

* Clean dependencies

* Update multiple fork fix

* Add dependency fix

* Fix broken singleThread option for e2e
* Initial commit

* Add reward calculation

* Add todos

* Update productBlockV3 unit test

* Fix lint

* Get proper pre-state

* Fix test

* Simplify approach

* Code cleanup

* Fix test

* Fix test

* Introduce reward cache

* Fix bug

* Remove withConsensusBlockValue

* Update naming for better readability

* Update logic to choose block source

* Update packages/beacon-node/src/api/impl/validator/index.ts

* add some more debug logs

* fix rebase

---------

Co-authored-by: g11tech <[email protected]>
* Move api unit tests to vitest

* Fix unit tests

* Fix types
* docs: rouged out changes to layout, TOC and started writing

* docs: add more docs for beacon-management

* docs: add database update and light-client examples

* docs: make spelling consistent in lightclient example

* refactor: move assets into docs folder

* docs: fix filenames and write testing and simtest content

* fix contributing navigation

* enable emojis on docs

* docs: update testing toc

* feat(docs): update cli docs rendering

* refactor(docs): move lightclient and prover into folder

* docs: add docsFolder prop to cli commands

* feat: create CliOptionDefinition and standardize flare and prover with existing

* fix: debug docs rendering edge cases

* fix: cleanup docs TOC

* fix: update docs scripts and workflow

* refactor: move docs/gitignore line to root gitignore

* feat: remove old comments

* fix: CI lint errors

* chore: lint docs

* chore: lint spelling

* feat: add check-spelling script

* fix: bug in build:docs if folder not present

* test: fix failing unit test

* chore: add gitignore changes to dockerignore

* feat: check README ts examples and cop

* chore: add pre to wordlist

* docs: add heap-dumps.md

* chore: lint spelling

* refactor: move assets back to root

* docs: add core-dumps and add to heap-dumps

* fix: put back unit test after moving assets back

* docs: update beacon-management/networking.md

Co-authored-by: Cayman <[email protected]>

* docs: update beacon-management/networking.md

Co-authored-by: Cayman <[email protected]>

* docs: update beacon-management/networking.md

Co-authored-by: Cayman <[email protected]>

* docs: update beacon-management/networking.md

Co-authored-by: Cayman <[email protected]>

* docs: update beacon-management/networking.md

Co-authored-by: Cayman <[email protected]>

* docs: update beacon-management/networking.md

Co-authored-by: Cayman <[email protected]>

* docs: update contribution/testing/index.md

Co-authored-by: Cayman <[email protected]>

* docs: update beacon-management/syncing.md

Co-authored-by: Cayman <[email protected]>

* docs: update contribution/testing/index.md

Co-authored-by: Cayman <[email protected]>

* docs: update contribution/testing/index.md

Co-authored-by: Cayman <[email protected]>

* docs: update supporting libraries

* docs: update for PR comments

* docs: fix broken lings and clean up TOC

* docs: clean up simulation-test and move integration stuff out to placeholder file

* chore: remove duplicate word in .wordlist.txt

* docs: fix data retention diagram

* fix: PR comments in docs

* docs: rewreite Proof of Stake intro

---------

Co-authored-by: Phil Ngo <[email protected]>
Co-authored-by: Cayman <[email protected]>
* fix: sanitize URL to prevent leaking user credentials in logs

* Best effort to sanitize if an invalid URL is provided

* Only log used builder URL

* Ensure URLs are logged after validation
* feat: track epoch transition steps time in metrics

* feat: also track beforeProcessEpoch and afterProcessEpoch

* fix: do not need to time simple steps in processEpoch

* fix: incorporate to single metric with step label

* fix: pass metrics to processEpoch()

* chore: use separate timer for each epoch transition step

* chore: use blocks to separate timers

---------

Co-authored-by: Cayman <[email protected]>
* feat: track and call state.hashTreeRoot() in prepareNextSlot

* fix: correct stateHashTreeRootTime bucket

* docs: add more comment for the fix
* Move state-transition unit tests to vitest

* Update the package.json and remove the segfault retry

* Update packages/state-transition/test/globalSetup.ts

* Update packages/state-transition/test/globalSetup.ts

* Update the run command

* Fix perf test issue

---------

Co-authored-by: Cayman <[email protected]>
* Update flag to pass builder url

* Throw error if multiple builder urls are set
@twoeths twoeths requested a review from a team as a code owner December 19, 2023 06:23
@twoeths twoeths marked this pull request as draft December 19, 2023 06:24
Copy link

codecov bot commented Dec 19, 2023

Codecov Report

❗ No coverage uploaded for pull request base (stable@85e44ef). Click here to learn what that means.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff            @@
##             stable    #6204   +/-   ##
=========================================
  Coverage          ?   90.35%           
=========================================
  Files             ?       78           
  Lines             ?     8087           
  Branches          ?      490           
=========================================
  Hits              ?     7307           
  Misses            ?      772           
  Partials          ?        8           

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: e211845 Previous: - Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 793.71 us/op
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 84.118 us/op
BLS verify - blst-native 1.2784 ms/op
BLS verifyMultipleSignatures 3 - blst-native 2.6831 ms/op
BLS verifyMultipleSignatures 8 - blst-native 5.8896 ms/op
BLS verifyMultipleSignatures 32 - blst-native 21.751 ms/op
BLS verifyMultipleSignatures 64 - blst-native 42.415 ms/op
BLS verifyMultipleSignatures 128 - blst-native 84.142 ms/op
BLS deserializing 10000 signatures 909.90 ms/op
BLS deserializing 100000 signatures 9.2190 s/op
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3012 ms/op
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.4084 ms/op
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.1724 ms/op
BLS verifyMultipleSignatures - same message - 64 - blst-native 4.4208 ms/op
BLS verifyMultipleSignatures - same message - 128 - blst-native 7.6937 ms/op
BLS aggregatePubkeys 32 - blst-native 25.003 us/op
BLS aggregatePubkeys 128 - blst-native 98.063 us/op
getAttestationsForBlock 42.582 ms/op
getSlashingsAndExits - default max 156.21 us/op
getSlashingsAndExits - 2k 388.09 us/op
proposeBlockBody type=full, size=empty 4.9415 ms/op
isKnown best case - 1 super set check 306.00 ns/op
isKnown normal case - 2 super set checks 293.00 ns/op
isKnown worse case - 16 super set checks 300.00 ns/op
CheckpointStateCache - add get delete 4.7810 us/op
validate api signedAggregateAndProof - struct 2.7059 ms/op
validate gossip signedAggregateAndProof - struct 2.7036 ms/op
validate gossip attestation - vc 640000 1.3220 ms/op
batch validate gossip attestation - vc 640000 - chunk 32 162.30 us/op
batch validate gossip attestation - vc 640000 - chunk 64 146.49 us/op
batch validate gossip attestation - vc 640000 - chunk 128 141.19 us/op
batch validate gossip attestation - vc 640000 - chunk 256 134.56 us/op
pickEth1Vote - no votes 1.3288 ms/op
pickEth1Vote - max votes 9.6138 ms/op
pickEth1Vote - Eth1Data hashTreeRoot value x2048 19.260 ms/op
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 23.919 ms/op
pickEth1Vote - Eth1Data fastSerialize value x2048 662.02 us/op
pickEth1Vote - Eth1Data fastSerialize tree x2048 4.5417 ms/op
bytes32 toHexString 559.00 ns/op
bytes32 Buffer.toString(hex) 306.00 ns/op
bytes32 Buffer.toString(hex) from Uint8Array 458.00 ns/op
bytes32 Buffer.toString(hex) + 0x 337.00 ns/op
Object access 1 prop 0.18900 ns/op
Map access 1 prop 0.14800 ns/op
Object get x1000 7.2150 ns/op
Map get x1000 0.85400 ns/op
Object set x1000 61.151 ns/op
Map set x1000 46.967 ns/op
Return object 10000 times 0.24370 ns/op
Throw Error 10000 times 4.1283 us/op
fastMsgIdFn sha256 / 200 bytes 3.4310 us/op
fastMsgIdFn h32 xxhash / 200 bytes 362.00 ns/op
fastMsgIdFn h64 xxhash / 200 bytes 402.00 ns/op
fastMsgIdFn sha256 / 1000 bytes 11.468 us/op
fastMsgIdFn h32 xxhash / 1000 bytes 482.00 ns/op
fastMsgIdFn h64 xxhash / 1000 bytes 465.00 ns/op
fastMsgIdFn sha256 / 10000 bytes 106.15 us/op
fastMsgIdFn h32 xxhash / 10000 bytes 2.0150 us/op
fastMsgIdFn h64 xxhash / 10000 bytes 1.3970 us/op
send data - 1000 256B messages 22.494 ms/op
send data - 1000 512B messages 28.007 ms/op
send data - 1000 1024B messages 41.938 ms/op
send data - 1000 1200B messages 39.370 ms/op
send data - 1000 2048B messages 28.176 ms/op
send data - 1000 4096B messages 41.437 ms/op
send data - 1000 16384B messages 118.69 ms/op
send data - 1000 65536B messages 507.16 ms/op
enrSubnets - fastDeserialize 64 bits 1.3540 us/op
enrSubnets - ssz BitVector 64 bits 491.00 ns/op
enrSubnets - fastDeserialize 4 bits 200.00 ns/op
enrSubnets - ssz BitVector 4 bits 482.00 ns/op
prioritizePeers score -10:0 att 32-0.1 sync 2-0 117.44 us/op
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 142.71 us/op
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 202.32 us/op
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 353.63 us/op
prioritizePeers score 0:0 att 64-1 sync 4-1 387.63 us/op
array of 16000 items push then shift 1.7298 us/op
LinkedList of 16000 items push then shift 9.4600 ns/op
array of 16000 items push then pop 98.066 ns/op
LinkedList of 16000 items push then pop 8.9430 ns/op
array of 24000 items push then shift 2.6724 us/op
LinkedList of 24000 items push then shift 9.4690 ns/op
array of 24000 items push then pop 153.79 ns/op
LinkedList of 24000 items push then pop 9.0240 ns/op
intersect bitArray bitLen 8 6.7270 ns/op
intersect array and set length 8 86.713 ns/op
intersect bitArray bitLen 128 35.461 ns/op
intersect array and set length 128 1.1192 us/op
bitArray.getTrueBitIndexes() bitLen 128 1.8290 us/op
bitArray.getTrueBitIndexes() bitLen 248 3.1590 us/op
bitArray.getTrueBitIndexes() bitLen 512 6.2720 us/op
Buffer.concat 32 items 1.0340 us/op
Uint8Array.set 32 items 1.9170 us/op
Set add up to 64 items then delete first 4.9364 us/op
OrderedSet add up to 64 items then delete first 6.1863 us/op
Set add up to 64 items then delete last 5.6179 us/op
OrderedSet add up to 64 items then delete last 6.7765 us/op
Set add up to 64 items then delete middle 5.3984 us/op
OrderedSet add up to 64 items then delete middle 8.4764 us/op
Set add up to 128 items then delete first 11.173 us/op
OrderedSet add up to 128 items then delete first 15.463 us/op
Set add up to 128 items then delete last 11.376 us/op
OrderedSet add up to 128 items then delete last 13.951 us/op
Set add up to 128 items then delete middle 10.665 us/op
OrderedSet add up to 128 items then delete middle 20.425 us/op
Set add up to 256 items then delete first 22.271 us/op
OrderedSet add up to 256 items then delete first 31.260 us/op
Set add up to 256 items then delete last 22.673 us/op
OrderedSet add up to 256 items then delete last 29.226 us/op
Set add up to 256 items then delete middle 21.834 us/op
OrderedSet add up to 256 items then delete middle 53.478 us/op
transfer serialized Status (84 B) 1.8640 us/op
copy serialized Status (84 B) 1.6560 us/op
transfer serialized SignedVoluntaryExit (112 B) 2.0030 us/op
copy serialized SignedVoluntaryExit (112 B) 1.7420 us/op
transfer serialized ProposerSlashing (416 B) 2.2990 us/op
copy serialized ProposerSlashing (416 B) 2.3670 us/op
transfer serialized Attestation (485 B) 2.4240 us/op
copy serialized Attestation (485 B) 2.3650 us/op
transfer serialized AttesterSlashing (33232 B) 2.4710 us/op
copy serialized AttesterSlashing (33232 B) 8.9650 us/op
transfer serialized Small SignedBeaconBlock (128000 B) 4.3660 us/op
copy serialized Small SignedBeaconBlock (128000 B) 28.728 us/op
transfer serialized Avg SignedBeaconBlock (200000 B) 3.5680 us/op
copy serialized Avg SignedBeaconBlock (200000 B) 44.228 us/op
transfer serialized BlobsSidecar (524380 B) 6.0610 us/op
copy serialized BlobsSidecar (524380 B) 115.19 us/op
transfer serialized Big SignedBeaconBlock (1000000 B) 4.8040 us/op
copy serialized Big SignedBeaconBlock (1000000 B) 197.42 us/op
pass gossip attestations to forkchoice per slot 4.5456 ms/op
forkChoice updateHead vc 100000 bc 64 eq 0 698.92 us/op
forkChoice updateHead vc 600000 bc 64 eq 0 4.6150 ms/op
forkChoice updateHead vc 1000000 bc 64 eq 0 7.5811 ms/op
forkChoice updateHead vc 600000 bc 320 eq 0 4.7627 ms/op
forkChoice updateHead vc 600000 bc 1200 eq 0 4.8263 ms/op
forkChoice updateHead vc 600000 bc 7200 eq 0 5.9478 ms/op
forkChoice updateHead vc 600000 bc 64 eq 1000 11.539 ms/op
forkChoice updateHead vc 600000 bc 64 eq 10000 15.045 ms/op
forkChoice updateHead vc 600000 bc 64 eq 300000 17.298 ms/op
computeDeltas 500000 validators 300 proto nodes 7.0047 ms/op
computeDeltas 500000 validators 1200 proto nodes 6.6617 ms/op
computeDeltas 500000 validators 7200 proto nodes 6.5920 ms/op
computeDeltas 750000 validators 300 proto nodes 9.8282 ms/op
computeDeltas 750000 validators 1200 proto nodes 9.7880 ms/op
computeDeltas 750000 validators 7200 proto nodes 9.9979 ms/op
computeDeltas 1400000 validators 300 proto nodes 19.578 ms/op
computeDeltas 1400000 validators 1200 proto nodes 18.722 ms/op
computeDeltas 1400000 validators 7200 proto nodes 18.604 ms/op
computeDeltas 2100000 validators 300 proto nodes 28.618 ms/op
computeDeltas 2100000 validators 1200 proto nodes 28.741 ms/op
computeDeltas 2100000 validators 7200 proto nodes 28.233 ms/op
computeProposerBoostScoreFromBalances 500000 validators 3.7366 ms/op
computeProposerBoostScoreFromBalances 750000 validators 3.7186 ms/op
computeProposerBoostScoreFromBalances 1400000 validators 3.6453 ms/op
computeProposerBoostScoreFromBalances 2100000 validators 3.6392 ms/op
altair processAttestation - 250000 vs - 7PWei normalcase 2.0566 ms/op
altair processAttestation - 250000 vs - 7PWei worstcase 2.9155 ms/op
altair processAttestation - setStatus - 1/6 committees join 132.05 us/op
altair processAttestation - setStatus - 1/3 committees join 249.25 us/op
altair processAttestation - setStatus - 1/2 committees join 349.46 us/op
altair processAttestation - setStatus - 2/3 committees join 430.21 us/op
altair processAttestation - setStatus - 4/5 committees join 607.85 us/op
altair processAttestation - setStatus - 100% committees join 691.76 us/op
altair processBlock - 250000 vs - 7PWei normalcase 10.188 ms/op
altair processBlock - 250000 vs - 7PWei normalcase hashState 38.155 ms/op
altair processBlock - 250000 vs - 7PWei worstcase 39.727 ms/op
altair processBlock - 250000 vs - 7PWei worstcase hashState 90.647 ms/op
phase0 processBlock - 250000 vs - 7PWei normalcase 2.4594 ms/op
phase0 processBlock - 250000 vs - 7PWei worstcase 29.558 ms/op
altair processEth1Data - 250000 vs - 7PWei normalcase 623.06 us/op
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.0180 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 56.796 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 15.726 us/op
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 11.771 us/op
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 156.86 us/op
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.0184 ms/op
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.4625 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.3954 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.5017 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.2304 ms/op
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.3797 ms/op
Tree 40 250000 create 364.95 ms/op
Tree 40 250000 get(125000) 188.89 ns/op
Tree 40 250000 set(125000) 978.88 ns/op
Tree 40 250000 toArray() 18.185 ms/op
Tree 40 250000 iterate all - toArray() + loop 18.397 ms/op
Tree 40 250000 iterate all - get(i) 62.919 ms/op
MutableVector 250000 create 11.417 ms/op
MutableVector 250000 get(125000) 7.0240 ns/op
MutableVector 250000 set(125000) 247.43 ns/op
MutableVector 250000 toArray() 3.1677 ms/op
MutableVector 250000 iterate all - toArray() + loop 3.2531 ms/op
MutableVector 250000 iterate all - get(i) 1.4990 ms/op
Array 250000 create 2.8148 ms/op
Array 250000 clone - spread 1.2101 ms/op
Array 250000 get(125000) 0.99000 ns/op
Array 250000 set(125000) 4.0160 ns/op
Array 250000 iterate all - loop 162.02 us/op
effectiveBalanceIncrements clone Uint8Array 300000 27.430 us/op
effectiveBalanceIncrements clone MutableVector 300000 330.00 ns/op
effectiveBalanceIncrements rw all Uint8Array 300000 195.93 us/op
effectiveBalanceIncrements rw all MutableVector 300000 78.782 ms/op
phase0 afterProcessEpoch - 250000 vs - 7PWei 106.23 ms/op
phase0 beforeProcessEpoch - 250000 vs - 7PWei 51.448 ms/op
altair processEpoch - mainnet_e81889 486.19 ms/op
mainnet_e81889 - altair beforeProcessEpoch 82.164 ms/op
mainnet_e81889 - altair processJustificationAndFinalization 14.157 us/op
mainnet_e81889 - altair processInactivityUpdates 6.5040 ms/op
mainnet_e81889 - altair processRewardsAndPenalties 62.835 ms/op
mainnet_e81889 - altair processRegistryUpdates 2.5270 us/op
mainnet_e81889 - altair processSlashings 414.00 ns/op
mainnet_e81889 - altair processEth1DataReset 454.00 ns/op
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.5596 ms/op
mainnet_e81889 - altair processSlashingsReset 5.5050 us/op
mainnet_e81889 - altair processRandaoMixesReset 5.1380 us/op
mainnet_e81889 - altair processHistoricalRootsUpdate 599.00 ns/op
mainnet_e81889 - altair processParticipationFlagUpdates 1.7620 us/op
mainnet_e81889 - altair processSyncCommitteeUpdates 517.00 ns/op
mainnet_e81889 - altair afterProcessEpoch 121.62 ms/op
capella processEpoch - mainnet_e217614 2.1919 s/op
mainnet_e217614 - capella beforeProcessEpoch 503.34 ms/op
mainnet_e217614 - capella processJustificationAndFinalization 15.971 us/op
mainnet_e217614 - capella processInactivityUpdates 20.882 ms/op
mainnet_e217614 - capella processRewardsAndPenalties 423.81 ms/op
mainnet_e217614 - capella processRegistryUpdates 32.534 us/op
mainnet_e217614 - capella processSlashings 677.00 ns/op
mainnet_e217614 - capella processEth1DataReset 432.00 ns/op
mainnet_e217614 - capella processEffectiveBalanceUpdates 5.5853 ms/op
mainnet_e217614 - capella processSlashingsReset 4.0140 us/op
mainnet_e217614 - capella processRandaoMixesReset 5.7520 us/op
mainnet_e217614 - capella processHistoricalRootsUpdate 484.00 ns/op
mainnet_e217614 - capella processParticipationFlagUpdates 1.5080 us/op
mainnet_e217614 - capella afterProcessEpoch 325.08 ms/op
phase0 processEpoch - mainnet_e58758 408.31 ms/op
mainnet_e58758 - phase0 beforeProcessEpoch 118.07 ms/op
mainnet_e58758 - phase0 processJustificationAndFinalization 15.703 us/op
mainnet_e58758 - phase0 processRewardsAndPenalties 54.555 ms/op
mainnet_e58758 - phase0 processRegistryUpdates 8.8240 us/op
mainnet_e58758 - phase0 processSlashings 513.00 ns/op
mainnet_e58758 - phase0 processEth1DataReset 438.00 ns/op
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1615 ms/op
mainnet_e58758 - phase0 processSlashingsReset 4.8930 us/op
mainnet_e58758 - phase0 processRandaoMixesReset 5.0940 us/op
mainnet_e58758 - phase0 processHistoricalRootsUpdate 502.00 ns/op
mainnet_e58758 - phase0 processParticipationRecordUpdates 6.0610 us/op
mainnet_e58758 - phase0 afterProcessEpoch 98.227 ms/op
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3804 ms/op
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.9453 ms/op
altair processInactivityUpdates - 250000 normalcase 23.751 ms/op
altair processInactivityUpdates - 250000 worstcase 25.932 ms/op
phase0 processRegistryUpdates - 250000 normalcase 10.169 us/op
phase0 processRegistryUpdates - 250000 badcase_full_deposits 343.77 us/op
phase0 processRegistryUpdates - 250000 worstcase 0.5 135.45 ms/op
altair processRewardsAndPenalties - 250000 normalcase 54.313 ms/op
altair processRewardsAndPenalties - 250000 worstcase 55.306 ms/op
phase0 getAttestationDeltas - 250000 normalcase 8.5275 ms/op
phase0 getAttestationDeltas - 250000 worstcase 8.7589 ms/op
phase0 processSlashings - 250000 worstcase 100.71 us/op
altair processSyncCommitteeUpdates - 250000 155.35 ms/op
BeaconState.hashTreeRoot - No change 248.00 ns/op
BeaconState.hashTreeRoot - 1 full validator 151.00 us/op
BeaconState.hashTreeRoot - 32 full validator 1.3133 ms/op
BeaconState.hashTreeRoot - 512 full validator 15.149 ms/op
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 166.01 us/op
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.0305 ms/op
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 31.165 ms/op
BeaconState.hashTreeRoot - 1 balances 129.06 us/op
BeaconState.hashTreeRoot - 32 balances 1.1932 ms/op
BeaconState.hashTreeRoot - 512 balances 14.704 ms/op
BeaconState.hashTreeRoot - 250000 balances 209.25 ms/op
aggregationBits - 2048 els - zipIndexesInBitList 17.310 us/op
byteArrayEquals 32 75.442 ns/op
Buffer.compare 32 56.702 ns/op
byteArrayEquals 1024 2.0249 us/op
Buffer.compare 1024 70.933 ns/op
byteArrayEquals 16384 32.687 us/op
Buffer.compare 16384 243.33 ns/op
byteArrayEquals 123687377 249.61 ms/op
Buffer.compare 123687377 7.5967 ms/op
byteArrayEquals 32 - diff last byte 73.108 ns/op
Buffer.compare 32 - diff last byte 56.955 ns/op
byteArrayEquals 1024 - diff last byte 2.0717 us/op
Buffer.compare 1024 - diff last byte 76.053 ns/op
byteArrayEquals 16384 - diff last byte 33.278 us/op
Buffer.compare 16384 - diff last byte 276.96 ns/op
byteArrayEquals 123687377 - diff last byte 261.36 ms/op
Buffer.compare 123687377 - diff last byte 7.7520 ms/op
byteArrayEquals 32 - random bytes 5.6520 ns/op
Buffer.compare 32 - random bytes 64.021 ns/op
byteArrayEquals 1024 - random bytes 6.4980 ns/op
Buffer.compare 1024 - random bytes 61.669 ns/op
byteArrayEquals 16384 - random bytes 6.2910 ns/op
Buffer.compare 16384 - random bytes 62.304 ns/op
byteArrayEquals 123687377 - random bytes 9.2300 ns/op
Buffer.compare 123687377 - random bytes 74.580 ns/op
regular array get 100000 times 46.395 us/op
wrappedArray get 100000 times 46.298 us/op
arrayWithProxy get 100000 times 15.521 ms/op
ssz.Root.equals 58.701 ns/op
byteArrayEquals 55.027 ns/op
Buffer.compare 12.403 ns/op
shuffle list - 16384 els 7.3329 ms/op
shuffle list - 250000 els 105.35 ms/op
processSlot - 1 slots 20.127 us/op
processSlot - 32 slots 3.5077 ms/op
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 57.052 ms/op
getCommitteeAssignments - req 1 vs - 250000 vc 2.5627 ms/op
getCommitteeAssignments - req 100 vs - 250000 vc 3.7524 ms/op
getCommitteeAssignments - req 1000 vs - 250000 vc 4.1033 ms/op
findModifiedValidators - 10000 modified validators 533.46 ms/op
findModifiedValidators - 1000 modified validators 416.07 ms/op
findModifiedValidators - 100 modified validators 427.78 ms/op
findModifiedValidators - 10 modified validators 391.65 ms/op
findModifiedValidators - 1 modified validators 453.19 ms/op
findModifiedValidators - no difference 401.85 ms/op
compare ViewDUs 4.5032 s/op
compare each validator Uint8Array 1.8582 s/op
compare ViewDU to Uint8Array 1.2479 s/op
migrate state 1000000 validators, 24 modified, 0 new 810.84 ms/op
migrate state 1000000 validators, 1700 modified, 1000 new 1.0812 s/op
migrate state 1000000 validators, 3400 modified, 2000 new 1.5471 s/op
migrate state 1500000 validators, 24 modified, 0 new 991.76 ms/op
migrate state 1500000 validators, 1700 modified, 1000 new 1.1696 s/op
migrate state 1500000 validators, 3400 modified, 2000 new 1.3453 s/op
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.3500 ns/op
state getBlockRootAtSlot - 250000 vs - 7PWei 1.0064 us/op
computeProposers - vc 250000 10.564 ms/op
computeEpochShuffling - vc 250000 107.04 ms/op
getNextSyncCommittee - vc 250000 168.39 ms/op
computeSigningRoot for AttestationData 30.105 us/op
hash AttestationData serialized data then Buffer.toString(base64) 2.4715 us/op
toHexString serialized data 1.4420 us/op
Buffer.toString(base64) 221.29 ns/op

by benchmarkbot/action

@philknows philknows marked this pull request as ready for review December 21, 2023 00:51
@philknows philknows merged commit 1a816b4 into stable Dec 21, 2023
21 of 22 checks passed
@philknows philknows deleted the rc/v1.13.0 branch December 21, 2023 01:45
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.13.0 🎉

@twoeths
Copy link
Contributor Author

twoeths commented Dec 21, 2023

v1.13.0 profiles here

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.