Skip to content

Commit

Permalink
chore: unpin nodejs version from 22.4 (#6982)
Browse files Browse the repository at this point in the history
* Revert "chore: pin nodejs version to 22.4 (#6964)"

This reverts commit f20484b.

* Don't revert formatting changes

---------

Co-authored-by: Nico Flaig <nflaig@protonmail.com>
Co-authored-by: Cayman <caymannava@gmail.com>
  • Loading branch information
3 people authored Dec 4, 2024
1 parent dbe2188 commit 69ae688
Show file tree
Hide file tree
Showing 11 changed files with 24 additions and 24 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22.4
node-version: 22
check-latest: true
cache: yarn
- name: Node.js version
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/binaries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
sudo apt-get install -y build-essential python3
- uses: "./.github/actions/setup-and-build"
with:
node: 22.4
node: 22
- run: |
mkdir -p dist
yarn global add caxa@3.0.1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22.4
node-version: 22
cache: yarn
- name: Node.js version
id: node
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:

- uses: actions/setup-node@v4
with:
node-version: 22.4
node-version: 22
check-latest: true
cache: yarn

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: 22.4
node-version: 22
registry-url: "https://registry.npmjs.org"
check-latest: true
cache: yarn
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-rc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ jobs:

- uses: "./.github/actions/setup-and-build"
with:
node: 22.4
node: 22

- name: Generate changelog
run: node scripts/generate_changelog.mjs ${{ needs.tag.outputs.prev_tag }} ${{ needs.tag.outputs.tag }} CHANGELOG.md
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-stable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:

- uses: "./.github/actions/setup-and-build"
with:
node: 22.4
node: 22

- name: Generate changelog
run: node scripts/generate_changelog.mjs ${{ needs.tag.outputs.prev_tag }} ${{ needs.tag.outputs.tag }} CHANGELOG.md
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-sim-merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22.4
node-version: 22
check-latest: true
cache: yarn
- name: Node.js version
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/test-sim.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
- uses: actions/checkout@v4
- uses: "./.github/actions/setup-and-build"
with:
node: 22.4
node: 22

sim-test-multifork:
name: Multifork sim test
Expand All @@ -42,7 +42,7 @@ jobs:
- uses: actions/checkout@v4
- uses: "./.github/actions/setup-and-build"
with:
node: 22.4
node: 22
- name: Load env variables
uses: ./.github/actions/dotenv
- name: Download required docker images before running tests
Expand Down Expand Up @@ -71,7 +71,7 @@ jobs:
- uses: actions/checkout@v4
- uses: "./.github/actions/setup-and-build"
with:
node: 22.4
node: 22
- name: Load env variables
uses: ./.github/actions/dotenv
- name: Download required docker images before running tests
Expand Down Expand Up @@ -100,7 +100,7 @@ jobs:
- uses: actions/checkout@v4
- uses: "./.github/actions/setup-and-build"
with:
node: 22.4
node: 22
- name: Load env variables
uses: ./.github/actions/dotenv
- name: Download required docker images before running tests
Expand Down Expand Up @@ -129,7 +129,7 @@ jobs:
- uses: actions/checkout@v4
- uses: "./.github/actions/setup-and-build"
with:
node: 22.4
node: 22
- name: Load env variables
uses: ./.github/actions/dotenv
- name: Download required docker images before running tests
Expand Down Expand Up @@ -158,7 +158,7 @@ jobs:
- uses: actions/checkout@v4
- uses: "./.github/actions/setup-and-build"
with:
node: 22.4
node: 22
- name: Load env variables
uses: ./.github/actions/dotenv
- name: Download required docker images before running tests
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [22.4]
node: [22]
steps:
# <common-build> - Uses YAML anchors in the future
- uses: actions/checkout@v4
Expand All @@ -42,7 +42,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [22.4]
node: [22]
steps:
- uses: actions/checkout@v4
- uses: "./.github/actions/setup-and-build"
Expand Down Expand Up @@ -71,7 +71,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [22.4]
node: [22]
steps:
- uses: actions/checkout@v4

Expand All @@ -92,7 +92,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [22.4]
node: [22]
steps:
- uses: actions/checkout@v4
- uses: "./.github/actions/setup-and-build"
Expand Down Expand Up @@ -131,7 +131,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [22.4]
node: [22]
steps:
# <common-build> - Uses YAML anchors in the future
- uses: actions/checkout@v4
Expand Down Expand Up @@ -168,7 +168,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [22.4]
node: [22]
steps:
# <common-build> - Uses YAML anchors in the future
- uses: actions/checkout@v4
Expand All @@ -192,7 +192,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node: [22.4]
node: [22]
steps:
- uses: actions/checkout@v4
- uses: "./.github/actions/setup-and-build"
Expand Down
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

# --platform=$BUILDPLATFORM is used build javascript source with host arch
# Otherwise TS builds on emulated archs and can be extremely slow (+1h)
FROM --platform=${BUILDPLATFORM:-amd64} node:22.4-slim AS build_src
FROM --platform=${BUILDPLATFORM:-amd64} node:22-slim AS build_src
ARG COMMIT
WORKDIR /usr/app
RUN apt-get update && apt-get install -y g++ make python3 python3-setuptools && apt-get clean && rm -rf /var/lib/apt/lists/*
Expand All @@ -21,7 +21,7 @@ RUN cd packages/cli && GIT_COMMIT=${COMMIT} yarn write-git-data

# Copy built src + node_modules to build native packages for archs different than host.
# Note: This step is redundant for the host arch
FROM node:22.4-slim AS build_deps
FROM node:22-slim AS build_deps
WORKDIR /usr/app
RUN apt-get update && apt-get install -y g++ make python3 python3-setuptools && apt-get clean && rm -rf /var/lib/apt/lists/*

Expand All @@ -35,7 +35,7 @@ RUN cd node_modules/classic-level && yarn rebuild

# Copy built src + node_modules to a new layer to prune unnecessary fs
# Previous layer weights 7.25GB, while this final 488MB (as of Oct 2020)
FROM node:22.4-slim
FROM node:22-slim
WORKDIR /usr/app
COPY --from=build_deps /usr/app .

Expand Down

1 comment on commit 69ae688

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Performance Alert ⚠️

Possible performance regression was detected for some benchmarks.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold.

Benchmark suite Current: 69ae688 Previous: dbe2188 Ratio
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 160.01 ms/op 52.453 ms/op 3.05
Full benchmark results
Benchmark suite Current: 69ae688 Previous: dbe2188 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.9071 ms/op 1.8322 ms/op 1.04
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 62.462 us/op 46.995 us/op 1.33
BLS verify - blst 890.91 us/op 772.06 us/op 1.15
BLS verifyMultipleSignatures 3 - blst 1.3299 ms/op 1.1742 ms/op 1.13
BLS verifyMultipleSignatures 8 - blst 1.8333 ms/op 1.6776 ms/op 1.09
BLS verifyMultipleSignatures 32 - blst 4.8815 ms/op 4.7729 ms/op 1.02
BLS verifyMultipleSignatures 64 - blst 8.9842 ms/op 8.8500 ms/op 1.02
BLS verifyMultipleSignatures 128 - blst 17.287 ms/op 16.884 ms/op 1.02
BLS deserializing 10000 signatures 701.55 ms/op 680.19 ms/op 1.03
BLS deserializing 100000 signatures 7.1665 s/op 6.8201 s/op 1.05
BLS verifyMultipleSignatures - same message - 3 - blst 1.4066 ms/op 916.68 us/op 1.53
BLS verifyMultipleSignatures - same message - 8 - blst 1.4194 ms/op 1.0632 ms/op 1.34
BLS verifyMultipleSignatures - same message - 32 - blst 2.5279 ms/op 1.7258 ms/op 1.46
BLS verifyMultipleSignatures - same message - 64 - blst 3.0271 ms/op 2.6106 ms/op 1.16
BLS verifyMultipleSignatures - same message - 128 - blst 6.3219 ms/op 4.3830 ms/op 1.44
BLS aggregatePubkeys 32 - blst 22.454 us/op 19.680 us/op 1.14
BLS aggregatePubkeys 128 - blst 79.152 us/op 70.171 us/op 1.13
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 160.01 ms/op 52.453 ms/op 3.05
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 68.263 ms/op 47.252 ms/op 1.44
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 39.770 ms/op 45.001 ms/op 0.88
getSlashingsAndExits - default max 101.27 us/op 118.37 us/op 0.86
getSlashingsAndExits - 2k 493.05 us/op 291.17 us/op 1.69
proposeBlockBody type=full, size=empty 6.1270 ms/op 6.2029 ms/op 0.99
isKnown best case - 1 super set check 287.00 ns/op 276.00 ns/op 1.04
isKnown normal case - 2 super set checks 292.00 ns/op 284.00 ns/op 1.03
isKnown worse case - 16 super set checks 280.00 ns/op 277.00 ns/op 1.01
InMemoryCheckpointStateCache - add get delete 2.7680 us/op 2.6870 us/op 1.03
validate api signedAggregateAndProof - struct 1.4136 ms/op 1.4002 ms/op 1.01
validate gossip signedAggregateAndProof - struct 1.4510 ms/op 1.3665 ms/op 1.06
batch validate gossip attestation - vc 640000 - chunk 32 129.58 us/op 126.08 us/op 1.03
batch validate gossip attestation - vc 640000 - chunk 64 115.96 us/op 110.63 us/op 1.05
batch validate gossip attestation - vc 640000 - chunk 128 109.21 us/op 103.28 us/op 1.06
batch validate gossip attestation - vc 640000 - chunk 256 105.70 us/op 101.44 us/op 1.04
pickEth1Vote - no votes 1.0635 ms/op 1.0971 ms/op 0.97
pickEth1Vote - max votes 5.4543 ms/op 6.3951 ms/op 0.85
pickEth1Vote - Eth1Data hashTreeRoot value x2048 12.678 ms/op 14.029 ms/op 0.90
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 21.306 ms/op 19.480 ms/op 1.09
pickEth1Vote - Eth1Data fastSerialize value x2048 456.77 us/op 457.20 us/op 1.00
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.8763 ms/op 2.7833 ms/op 1.39
bytes32 toHexString 440.00 ns/op 425.00 ns/op 1.04
bytes32 Buffer.toString(hex) 234.00 ns/op 250.00 ns/op 0.94
bytes32 Buffer.toString(hex) from Uint8Array 362.00 ns/op 353.00 ns/op 1.03
bytes32 Buffer.toString(hex) + 0x 237.00 ns/op 252.00 ns/op 0.94
Object access 1 prop 0.14400 ns/op 0.13900 ns/op 1.04
Map access 1 prop 0.13800 ns/op 0.13000 ns/op 1.06
Object get x1000 6.0410 ns/op 5.8700 ns/op 1.03
Map get x1000 6.4610 ns/op 6.3700 ns/op 1.01
Object set x1000 33.909 ns/op 32.818 ns/op 1.03
Map set x1000 24.214 ns/op 22.273 ns/op 1.09
Return object 10000 times 0.29460 ns/op 0.28950 ns/op 1.02
Throw Error 10000 times 3.3191 us/op 3.3642 us/op 0.99
toHex 150.50 ns/op 141.23 ns/op 1.07
Buffer.from 123.69 ns/op 131.59 ns/op 0.94
shared Buffer 80.902 ns/op 83.393 ns/op 0.97
fastMsgIdFn sha256 / 200 bytes 2.2870 us/op 2.2470 us/op 1.02
fastMsgIdFn h32 xxhash / 200 bytes 267.00 ns/op 228.00 ns/op 1.17
fastMsgIdFn h64 xxhash / 200 bytes 273.00 ns/op 262.00 ns/op 1.04
fastMsgIdFn sha256 / 1000 bytes 7.3280 us/op 7.2610 us/op 1.01
fastMsgIdFn h32 xxhash / 1000 bytes 365.00 ns/op 359.00 ns/op 1.02
fastMsgIdFn h64 xxhash / 1000 bytes 347.00 ns/op 352.00 ns/op 0.99
fastMsgIdFn sha256 / 10000 bytes 65.564 us/op 64.364 us/op 1.02
fastMsgIdFn h32 xxhash / 10000 bytes 1.8480 us/op 1.8110 us/op 1.02
fastMsgIdFn h64 xxhash / 10000 bytes 1.1990 us/op 1.1900 us/op 1.01
send data - 1000 256B messages 12.079 ms/op 11.704 ms/op 1.03
send data - 1000 512B messages 16.551 ms/op 16.183 ms/op 1.02
send data - 1000 1024B messages 26.401 ms/op 25.419 ms/op 1.04
send data - 1000 1200B messages 26.176 ms/op 26.619 ms/op 0.98
send data - 1000 2048B messages 31.988 ms/op 32.469 ms/op 0.99
send data - 1000 4096B messages 29.498 ms/op 30.438 ms/op 0.97
send data - 1000 16384B messages 71.434 ms/op 72.442 ms/op 0.99
send data - 1000 65536B messages 194.84 ms/op 223.15 ms/op 0.87
enrSubnets - fastDeserialize 64 bits 1.0600 us/op 1.0880 us/op 0.97
enrSubnets - ssz BitVector 64 bits 350.00 ns/op 353.00 ns/op 0.99
enrSubnets - fastDeserialize 4 bits 149.00 ns/op 157.00 ns/op 0.95
enrSubnets - ssz BitVector 4 bits 366.00 ns/op 352.00 ns/op 1.04
prioritizePeers score -10:0 att 32-0.1 sync 2-0 134.88 us/op 143.87 us/op 0.94
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 150.36 us/op 178.80 us/op 0.84
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 218.65 us/op 228.80 us/op 0.96
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 392.74 us/op 402.62 us/op 0.98
prioritizePeers score 0:0 att 64-1 sync 4-1 492.40 us/op 633.65 us/op 0.78
array of 16000 items push then shift 1.5920 us/op 1.6431 us/op 0.97
LinkedList of 16000 items push then shift 6.9590 ns/op 7.5660 ns/op 0.92
array of 16000 items push then pop 97.811 ns/op 106.92 ns/op 0.91
LinkedList of 16000 items push then pop 6.8650 ns/op 7.2650 ns/op 0.94
array of 24000 items push then shift 2.3557 us/op 2.4117 us/op 0.98
LinkedList of 24000 items push then shift 7.1260 ns/op 7.0230 ns/op 1.01
array of 24000 items push then pop 154.25 ns/op 128.66 ns/op 1.20
LinkedList of 24000 items push then pop 7.1240 ns/op 6.9570 ns/op 1.02
intersect bitArray bitLen 8 6.6320 ns/op 6.4330 ns/op 1.03
intersect array and set length 8 47.895 ns/op 44.784 ns/op 1.07
intersect bitArray bitLen 128 30.345 ns/op 29.294 ns/op 1.04
intersect array and set length 128 678.25 ns/op 665.09 ns/op 1.02
bitArray.getTrueBitIndexes() bitLen 128 1.4130 us/op 2.1530 us/op 0.66
bitArray.getTrueBitIndexes() bitLen 248 2.4100 us/op 3.6470 us/op 0.66
bitArray.getTrueBitIndexes() bitLen 512 4.5730 us/op 7.6640 us/op 0.60
Buffer.concat 32 items 741.00 ns/op 957.00 ns/op 0.77
Uint8Array.set 32 items 1.2510 us/op 1.8590 us/op 0.67
Buffer.copy 2.5260 us/op 2.6470 us/op 0.95
Uint8Array.set - with subarray 2.2860 us/op 3.0760 us/op 0.74
Uint8Array.set - without subarray 1.4070 us/op 1.8930 us/op 0.74
getUint32 - dataview 230.00 ns/op 247.00 ns/op 0.93
getUint32 - manual 150.00 ns/op 155.00 ns/op 0.97
Set add up to 64 items then delete first 2.2052 us/op 2.2020 us/op 1.00
OrderedSet add up to 64 items then delete first 3.2119 us/op 3.2599 us/op 0.99
Set add up to 64 items then delete last 2.4705 us/op 2.5009 us/op 0.99
OrderedSet add up to 64 items then delete last 3.5708 us/op 3.6057 us/op 0.99
Set add up to 64 items then delete middle 2.4806 us/op 2.4637 us/op 1.01
OrderedSet add up to 64 items then delete middle 5.1431 us/op 5.1055 us/op 1.01
Set add up to 128 items then delete first 5.0993 us/op 4.9914 us/op 1.02
OrderedSet add up to 128 items then delete first 7.7785 us/op 7.7436 us/op 1.00
Set add up to 128 items then delete last 4.9027 us/op 4.8024 us/op 1.02
OrderedSet add up to 128 items then delete last 7.2840 us/op 7.1584 us/op 1.02
Set add up to 128 items then delete middle 4.8268 us/op 5.0529 us/op 0.96
OrderedSet add up to 128 items then delete middle 13.985 us/op 13.559 us/op 1.03
Set add up to 256 items then delete first 10.494 us/op 10.205 us/op 1.03
OrderedSet add up to 256 items then delete first 16.023 us/op 15.731 us/op 1.02
Set add up to 256 items then delete last 9.8895 us/op 9.6377 us/op 1.03
OrderedSet add up to 256 items then delete last 14.782 us/op 14.978 us/op 0.99
Set add up to 256 items then delete middle 9.7858 us/op 9.4348 us/op 1.04
OrderedSet add up to 256 items then delete middle 41.205 us/op 42.454 us/op 0.97
transfer serialized Status (84 B) 1.3770 us/op 1.4590 us/op 0.94
copy serialized Status (84 B) 1.1780 us/op 1.2280 us/op 0.96
transfer serialized SignedVoluntaryExit (112 B) 1.4630 us/op 1.4840 us/op 0.99
copy serialized SignedVoluntaryExit (112 B) 1.1640 us/op 1.2100 us/op 0.96
transfer serialized ProposerSlashing (416 B) 1.9840 us/op 1.7040 us/op 1.16
copy serialized ProposerSlashing (416 B) 2.2600 us/op 1.6060 us/op 1.41
transfer serialized Attestation (485 B) 2.0890 us/op 1.6300 us/op 1.28
copy serialized Attestation (485 B) 2.4330 us/op 1.3340 us/op 1.82
transfer serialized AttesterSlashing (33232 B) 2.1780 us/op 1.6370 us/op 1.33
copy serialized AttesterSlashing (33232 B) 6.1930 us/op 4.2130 us/op 1.47
transfer serialized Small SignedBeaconBlock (128000 B) 2.5730 us/op 2.2480 us/op 1.14
copy serialized Small SignedBeaconBlock (128000 B) 13.227 us/op 13.173 us/op 1.00
transfer serialized Avg SignedBeaconBlock (200000 B) 3.3110 us/op 2.9800 us/op 1.11
copy serialized Avg SignedBeaconBlock (200000 B) 19.139 us/op 20.946 us/op 0.91
transfer serialized BlobsSidecar (524380 B) 3.0580 us/op 2.8140 us/op 1.09
copy serialized BlobsSidecar (524380 B) 180.68 us/op 77.366 us/op 2.34
transfer serialized Big SignedBeaconBlock (1000000 B) 3.5720 us/op 2.8700 us/op 1.24
copy serialized Big SignedBeaconBlock (1000000 B) 177.78 us/op 150.73 us/op 1.18
pass gossip attestations to forkchoice per slot 2.6900 ms/op 2.8994 ms/op 0.93
forkChoice updateHead vc 100000 bc 64 eq 0 451.73 us/op 502.27 us/op 0.90
forkChoice updateHead vc 600000 bc 64 eq 0 2.8267 ms/op 3.0544 ms/op 0.93
forkChoice updateHead vc 1000000 bc 64 eq 0 4.8703 ms/op 5.0050 ms/op 0.97
forkChoice updateHead vc 600000 bc 320 eq 0 2.8196 ms/op 2.8513 ms/op 0.99
forkChoice updateHead vc 600000 bc 1200 eq 0 2.8899 ms/op 2.9955 ms/op 0.96
forkChoice updateHead vc 600000 bc 7200 eq 0 3.7272 ms/op 4.1817 ms/op 0.89
forkChoice updateHead vc 600000 bc 64 eq 1000 10.340 ms/op 10.584 ms/op 0.98
forkChoice updateHead vc 600000 bc 64 eq 10000 10.298 ms/op 10.813 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 300000 13.711 ms/op 15.162 ms/op 0.90
computeDeltas 500000 validators 300 proto nodes 3.9421 ms/op 4.3464 ms/op 0.91
computeDeltas 500000 validators 1200 proto nodes 4.0320 ms/op 4.1711 ms/op 0.97
computeDeltas 500000 validators 7200 proto nodes 4.0266 ms/op 4.1062 ms/op 0.98
computeDeltas 750000 validators 300 proto nodes 5.9887 ms/op 5.9927 ms/op 1.00
computeDeltas 750000 validators 1200 proto nodes 6.0832 ms/op 6.0463 ms/op 1.01
computeDeltas 750000 validators 7200 proto nodes 6.0425 ms/op 6.1960 ms/op 0.98
computeDeltas 1400000 validators 300 proto nodes 11.420 ms/op 11.391 ms/op 1.00
computeDeltas 1400000 validators 1200 proto nodes 11.843 ms/op 11.423 ms/op 1.04
computeDeltas 1400000 validators 7200 proto nodes 12.292 ms/op 11.685 ms/op 1.05
computeDeltas 2100000 validators 300 proto nodes 17.471 ms/op 17.404 ms/op 1.00
computeDeltas 2100000 validators 1200 proto nodes 17.295 ms/op 17.355 ms/op 1.00
computeDeltas 2100000 validators 7200 proto nodes 17.471 ms/op 17.359 ms/op 1.01
altair processAttestation - 250000 vs - 7PWei normalcase 2.9377 ms/op 1.6873 ms/op 1.74
altair processAttestation - 250000 vs - 7PWei worstcase 3.4832 ms/op 2.5455 ms/op 1.37
altair processAttestation - setStatus - 1/6 committees join 140.66 us/op 86.634 us/op 1.62
altair processAttestation - setStatus - 1/3 committees join 260.44 us/op 179.53 us/op 1.45
altair processAttestation - setStatus - 1/2 committees join 355.19 us/op 253.41 us/op 1.40
altair processAttestation - setStatus - 2/3 committees join 443.36 us/op 326.99 us/op 1.36
altair processAttestation - setStatus - 4/5 committees join 619.93 us/op 483.83 us/op 1.28
altair processAttestation - setStatus - 100% committees join 745.12 us/op 549.43 us/op 1.36
altair processBlock - 250000 vs - 7PWei normalcase 4.2795 ms/op 3.6352 ms/op 1.18
altair processBlock - 250000 vs - 7PWei normalcase hashState 28.008 ms/op 22.313 ms/op 1.26
altair processBlock - 250000 vs - 7PWei worstcase 37.695 ms/op 32.261 ms/op 1.17
altair processBlock - 250000 vs - 7PWei worstcase hashState 74.099 ms/op 62.498 ms/op 1.19
phase0 processBlock - 250000 vs - 7PWei normalcase 2.2685 ms/op 2.0537 ms/op 1.10
phase0 processBlock - 250000 vs - 7PWei worstcase 24.559 ms/op 20.873 ms/op 1.18
altair processEth1Data - 250000 vs - 7PWei normalcase 392.34 us/op 308.30 us/op 1.27
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 11.040 us/op 5.3280 us/op 2.07
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 61.710 us/op 34.312 us/op 1.80
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 18.606 us/op 9.5000 us/op 1.96
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 10.197 us/op 5.3220 us/op 1.92
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 155.48 us/op 139.60 us/op 1.11
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.1020 ms/op 1.1503 ms/op 0.96
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.4484 ms/op 1.4874 ms/op 0.97
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.7648 ms/op 1.4752 ms/op 1.20
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 4.2146 ms/op 3.5677 ms/op 1.18
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.4869 ms/op 1.6323 ms/op 0.91
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.8993 ms/op 3.7793 ms/op 1.03
Tree 40 250000 create 225.01 ms/op 234.85 ms/op 0.96
Tree 40 250000 get(125000) 155.13 ns/op 151.37 ns/op 1.02
Tree 40 250000 set(125000) 733.34 ns/op 684.15 ns/op 1.07
Tree 40 250000 toArray() 20.952 ms/op 20.007 ms/op 1.05
Tree 40 250000 iterate all - toArray() + loop 19.269 ms/op 20.443 ms/op 0.94
Tree 40 250000 iterate all - get(i) 55.700 ms/op 52.069 ms/op 1.07
Array 250000 create 3.1899 ms/op 3.2704 ms/op 0.98
Array 250000 clone - spread 1.5456 ms/op 1.4539 ms/op 1.06
Array 250000 get(125000) 0.42300 ns/op 0.41500 ns/op 1.02
Array 250000 set(125000) 0.45100 ns/op 0.43000 ns/op 1.05
Array 250000 iterate all - loop 109.94 us/op 83.104 us/op 1.32
phase0 afterProcessEpoch - 250000 vs - 7PWei 52.172 ms/op 48.959 ms/op 1.07
Array.fill - length 1000000 3.7579 ms/op 3.5660 ms/op 1.05
Array push - length 1000000 19.884 ms/op 17.055 ms/op 1.17
Array.get 0.29337 ns/op 0.28480 ns/op 1.03
Uint8Array.get 0.45333 ns/op 0.43683 ns/op 1.04
phase0 beforeProcessEpoch - 250000 vs - 7PWei 20.575 ms/op 19.299 ms/op 1.07
altair processEpoch - mainnet_e81889 270.70 ms/op 283.36 ms/op 0.96
mainnet_e81889 - altair beforeProcessEpoch 20.448 ms/op 23.574 ms/op 0.87
mainnet_e81889 - altair processJustificationAndFinalization 15.202 us/op 12.974 us/op 1.17
mainnet_e81889 - altair processInactivityUpdates 5.6414 ms/op 5.2308 ms/op 1.08
mainnet_e81889 - altair processRewardsAndPenalties 36.238 ms/op 46.074 ms/op 0.79
mainnet_e81889 - altair processRegistryUpdates 2.8210 us/op 1.9290 us/op 1.46
mainnet_e81889 - altair processSlashings 443.00 ns/op 433.00 ns/op 1.02
mainnet_e81889 - altair processEth1DataReset 486.00 ns/op 318.00 ns/op 1.53
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.4557 ms/op 1.5267 ms/op 0.95
mainnet_e81889 - altair processSlashingsReset 4.2230 us/op 2.9420 us/op 1.44
mainnet_e81889 - altair processRandaoMixesReset 4.9760 us/op 8.1900 us/op 0.61
mainnet_e81889 - altair processHistoricalRootsUpdate 722.00 ns/op 1.1230 us/op 0.64
mainnet_e81889 - altair processParticipationFlagUpdates 2.3210 us/op 1.9280 us/op 1.20
mainnet_e81889 - altair processSyncCommitteeUpdates 618.00 ns/op 485.00 ns/op 1.27
mainnet_e81889 - altair afterProcessEpoch 50.871 ms/op 51.702 ms/op 0.98
capella processEpoch - mainnet_e217614 1.0852 s/op 949.32 ms/op 1.14
mainnet_e217614 - capella beforeProcessEpoch 71.759 ms/op 70.213 ms/op 1.02
mainnet_e217614 - capella processJustificationAndFinalization 13.328 us/op 13.585 us/op 0.98
mainnet_e217614 - capella processInactivityUpdates 17.511 ms/op 17.902 ms/op 0.98
mainnet_e217614 - capella processRewardsAndPenalties 225.58 ms/op 222.95 ms/op 1.01
mainnet_e217614 - capella processRegistryUpdates 22.124 us/op 12.812 us/op 1.73
mainnet_e217614 - capella processSlashings 641.00 ns/op 349.00 ns/op 1.84
mainnet_e217614 - capella processEth1DataReset 536.00 ns/op 300.00 ns/op 1.79
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.5038 ms/op 15.504 ms/op 0.29
mainnet_e217614 - capella processSlashingsReset 2.7410 us/op 3.8800 us/op 0.71
mainnet_e217614 - capella processRandaoMixesReset 4.6190 us/op 4.5630 us/op 1.01
mainnet_e217614 - capella processHistoricalRootsUpdate 487.00 ns/op 562.00 ns/op 0.87
mainnet_e217614 - capella processParticipationFlagUpdates 1.9530 us/op 1.9420 us/op 1.01
mainnet_e217614 - capella afterProcessEpoch 126.29 ms/op 122.97 ms/op 1.03
phase0 processEpoch - mainnet_e58758 288.32 ms/op 339.64 ms/op 0.85
mainnet_e58758 - phase0 beforeProcessEpoch 81.799 ms/op 71.625 ms/op 1.14
mainnet_e58758 - phase0 processJustificationAndFinalization 15.909 us/op 13.333 us/op 1.19
mainnet_e58758 - phase0 processRewardsAndPenalties 22.013 ms/op 28.396 ms/op 0.78
mainnet_e58758 - phase0 processRegistryUpdates 10.575 us/op 7.4640 us/op 1.42
mainnet_e58758 - phase0 processSlashings 630.00 ns/op 331.00 ns/op 1.90
mainnet_e58758 - phase0 processEth1DataReset 450.00 ns/op 290.00 ns/op 1.55
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1854 ms/op 1.4150 ms/op 0.84
mainnet_e58758 - phase0 processSlashingsReset 4.6130 us/op 3.7500 us/op 1.23
mainnet_e58758 - phase0 processRandaoMixesReset 4.9810 us/op 4.3020 us/op 1.16
mainnet_e58758 - phase0 processHistoricalRootsUpdate 768.00 ns/op 291.00 ns/op 2.64
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.8340 us/op 2.6000 us/op 1.86
mainnet_e58758 - phase0 afterProcessEpoch 44.741 ms/op 43.054 ms/op 1.04
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3907 ms/op 1.9137 ms/op 0.73
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 3.5091 ms/op 2.1164 ms/op 1.66
altair processInactivityUpdates - 250000 normalcase 17.886 ms/op 15.293 ms/op 1.17
altair processInactivityUpdates - 250000 worstcase 17.117 ms/op 15.454 ms/op 1.11
phase0 processRegistryUpdates - 250000 normalcase 9.4310 us/op 6.1570 us/op 1.53
phase0 processRegistryUpdates - 250000 badcase_full_deposits 341.81 us/op 278.84 us/op 1.23
phase0 processRegistryUpdates - 250000 worstcase 0.5 125.17 ms/op 124.51 ms/op 1.01
altair processRewardsAndPenalties - 250000 normalcase 40.931 ms/op 39.552 ms/op 1.03
altair processRewardsAndPenalties - 250000 worstcase 41.058 ms/op 37.871 ms/op 1.08
phase0 getAttestationDeltas - 250000 normalcase 12.271 ms/op 7.8721 ms/op 1.56
phase0 getAttestationDeltas - 250000 worstcase 8.2031 ms/op 7.9947 ms/op 1.03
phase0 processSlashings - 250000 worstcase 125.77 us/op 111.09 us/op 1.13
altair processSyncCommitteeUpdates - 250000 129.92 ms/op 131.61 ms/op 0.99
BeaconState.hashTreeRoot - No change 251.00 ns/op 229.00 ns/op 1.10
BeaconState.hashTreeRoot - 1 full validator 120.62 us/op 114.47 us/op 1.05
BeaconState.hashTreeRoot - 32 full validator 1.4272 ms/op 1.1713 ms/op 1.22
BeaconState.hashTreeRoot - 512 full validator 12.130 ms/op 10.760 ms/op 1.13
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 142.55 us/op 160.71 us/op 0.89
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.8472 ms/op 2.0611 ms/op 0.90
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 23.150 ms/op 21.094 ms/op 1.10
BeaconState.hashTreeRoot - 1 balances 104.84 us/op 104.54 us/op 1.00
BeaconState.hashTreeRoot - 32 balances 934.44 us/op 912.95 us/op 1.02
BeaconState.hashTreeRoot - 512 balances 8.1589 ms/op 8.2409 ms/op 0.99
BeaconState.hashTreeRoot - 250000 balances 214.79 ms/op 168.14 ms/op 1.28
aggregationBits - 2048 els - zipIndexesInBitList 33.642 us/op 28.479 us/op 1.18
byteArrayEquals 32 54.292 ns/op 55.166 ns/op 0.98
Buffer.compare 32 17.906 ns/op 17.570 ns/op 1.02
byteArrayEquals 1024 1.6024 us/op 1.6221 us/op 0.99
Buffer.compare 1024 25.904 ns/op 26.543 ns/op 0.98
byteArrayEquals 16384 25.499 us/op 26.060 us/op 0.98
Buffer.compare 16384 188.91 ns/op 207.87 ns/op 0.91
byteArrayEquals 123687377 192.10 ms/op 195.65 ms/op 0.98
Buffer.compare 123687377 6.5533 ms/op 8.6336 ms/op 0.76
byteArrayEquals 32 - diff last byte 52.538 ns/op 53.699 ns/op 0.98
Buffer.compare 32 - diff last byte 17.000 ns/op 17.546 ns/op 0.97
byteArrayEquals 1024 - diff last byte 1.5742 us/op 1.6079 us/op 0.98
Buffer.compare 1024 - diff last byte 26.130 ns/op 25.973 ns/op 1.01
byteArrayEquals 16384 - diff last byte 25.039 us/op 25.689 us/op 0.97
Buffer.compare 16384 - diff last byte 199.69 ns/op 188.45 ns/op 1.06
byteArrayEquals 123687377 - diff last byte 189.57 ms/op 194.92 ms/op 0.97
Buffer.compare 123687377 - diff last byte 7.1495 ms/op 8.6523 ms/op 0.83
byteArrayEquals 32 - random bytes 5.0940 ns/op 5.3360 ns/op 0.95
Buffer.compare 32 - random bytes 16.905 ns/op 17.467 ns/op 0.97
byteArrayEquals 1024 - random bytes 5.1010 ns/op 5.3310 ns/op 0.96
Buffer.compare 1024 - random bytes 17.301 ns/op 17.522 ns/op 0.99
byteArrayEquals 16384 - random bytes 5.1780 ns/op 5.3620 ns/op 0.97
Buffer.compare 16384 - random bytes 17.276 ns/op 17.800 ns/op 0.97
byteArrayEquals 123687377 - random bytes 6.4500 ns/op 6.6400 ns/op 0.97
Buffer.compare 123687377 - random bytes 18.520 ns/op 18.980 ns/op 0.98
regular array get 100000 times 33.374 us/op 33.485 us/op 1.00
wrappedArray get 100000 times 33.462 us/op 33.914 us/op 0.99
arrayWithProxy get 100000 times 12.511 ms/op 13.388 ms/op 0.93
ssz.Root.equals 46.220 ns/op 46.565 ns/op 0.99
byteArrayEquals 45.412 ns/op 45.825 ns/op 0.99
Buffer.compare 10.887 ns/op 10.810 ns/op 1.01
processSlot - 1 slots 13.525 us/op 13.744 us/op 0.98
processSlot - 32 slots 3.3273 ms/op 2.7206 ms/op 1.22
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 36.265 ms/op 36.900 ms/op 0.98
getCommitteeAssignments - req 1 vs - 250000 vc 2.1273 ms/op 2.1582 ms/op 0.99
getCommitteeAssignments - req 100 vs - 250000 vc 4.1327 ms/op 4.2479 ms/op 0.97
getCommitteeAssignments - req 1000 vs - 250000 vc 4.4807 ms/op 4.5031 ms/op 1.00
findModifiedValidators - 10000 modified validators 237.05 ms/op 289.71 ms/op 0.82
findModifiedValidators - 1000 modified validators 180.00 ms/op 189.82 ms/op 0.95
findModifiedValidators - 100 modified validators 159.35 ms/op 167.10 ms/op 0.95
findModifiedValidators - 10 modified validators 161.62 ms/op 189.91 ms/op 0.85
findModifiedValidators - 1 modified validators 154.15 ms/op 171.24 ms/op 0.90
findModifiedValidators - no difference 174.61 ms/op 193.86 ms/op 0.90
compare ViewDUs 3.0040 s/op 3.0895 s/op 0.97
compare each validator Uint8Array 1.0661 s/op 1.2674 s/op 0.84
compare ViewDU to Uint8Array 910.99 ms/op 1.0895 s/op 0.84
migrate state 1000000 validators, 24 modified, 0 new 617.38 ms/op 763.71 ms/op 0.81
migrate state 1000000 validators, 1700 modified, 1000 new 918.86 ms/op 981.90 ms/op 0.94
migrate state 1000000 validators, 3400 modified, 2000 new 1.0565 s/op 1.1448 s/op 0.92
migrate state 1500000 validators, 24 modified, 0 new 710.37 ms/op 729.02 ms/op 0.97
migrate state 1500000 validators, 1700 modified, 1000 new 922.00 ms/op 963.21 ms/op 0.96
migrate state 1500000 validators, 3400 modified, 2000 new 1.1248 s/op 1.0910 s/op 1.03
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.1900 ns/op 4.1900 ns/op 1.00
state getBlockRootAtSlot - 250000 vs - 7PWei 781.04 ns/op 609.49 ns/op 1.28
computeProposers - vc 250000 7.0837 ms/op 7.3949 ms/op 0.96
computeEpochShuffling - vc 250000 41.045 ms/op 42.436 ms/op 0.97
getNextSyncCommittee - vc 250000 120.41 ms/op 121.96 ms/op 0.99
computeSigningRoot for AttestationData 21.481 us/op 21.583 us/op 1.00
hash AttestationData serialized data then Buffer.toString(base64) 1.5587 us/op 1.5692 us/op 0.99
toHexString serialized data 868.45 ns/op 884.67 ns/op 0.98
Buffer.toString(base64) 174.12 ns/op 181.56 ns/op 0.96
nodejs block root to RootHex using toHex 138.87 ns/op 141.42 ns/op 0.98
nodejs block root to RootHex using toRootHex 81.902 ns/op 86.226 ns/op 0.95
browser block root to RootHex using the deprecated toHexString 222.05 ns/op 219.64 ns/op 1.01
browser block root to RootHex using toHex 177.20 ns/op 174.71 ns/op 1.01
browser block root to RootHex using toRootHex 157.33 ns/op 155.31 ns/op 1.01

Please sign in to comment.