Skip to content

Commit

Permalink
feat: add terminal-sized Electra giraffe banner (#7286)
Browse files Browse the repository at this point in the history
* Create giraffeBanners.ts

* Wire in banner

* Fix file name

* lint

* Address @nflaig's comment

---------

Co-authored-by: NC <[email protected]>
  • Loading branch information
ClockworkYuzu and ensi321 authored Dec 6, 2024
1 parent f87eb0b commit dad9037
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 0 deletions.
27 changes: 27 additions & 0 deletions packages/beacon-node/src/chain/blocks/utils/giraffeBanner.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
export const ELECTRA_GIRAFFE_BANNER = String.raw`
2048
:--:
:-@==+-:
:-=++#+#++#>
:-=+=#+:
::+*--@-*:
:-+=%*#%@-:
MAXEB**=+%*+:
:-*###+*#*=-:
:--=+*+==#*=-:
:-*=+#*=*-#*+%@%%%#*+:
-=+-+**#+#%%%*#@@+%%#=#%
32 -*=*+#+=%*#%*#%#+*##***-:
: #+**+*+=*+*%*%%*==++@**=:
=++++=: ::----:: +=-@*:
+++=- -++ =+:
-=@ :+- -+
:-: :+: :-
:+ := -=
:= - @
- @ :
-: -: -
*: :- =-
:- --: =:
::*-: :::: :-:
`;
6 changes: 6 additions & 0 deletions packages/beacon-node/src/chain/blocks/verifyBlock.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import {BlockProcessOpts} from "../options.js";
import {RegenCaller} from "../regen/index.js";
import {BlockInput, BlockInputType, ImportBlockOpts} from "./types.js";
import {DENEB_BLOWFISH_BANNER} from "./utils/blowfishBanner.js";
import {ELECTRA_GIRAFFE_BANNER} from "./utils/giraffeBanner.js";
import {CAPELLA_OWL_BANNER} from "./utils/ownBanner.js";
import {POS_PANDA_MERGE_TRANSITION_BANNER} from "./utils/pandaMergeTransitionBanner.js";
import {verifyBlocksDataAvailability} from "./verifyBlocksDataAvailability.js";
Expand Down Expand Up @@ -157,6 +158,11 @@ export async function verifyBlocksInEpoch(
this.logger.info("Activating blobs", {epoch: this.config.DENEB_FORK_EPOCH});
break;

case ForkName.electra:
this.logger.info(ELECTRA_GIRAFFE_BANNER);
this.logger.info("Activating maxEB", {epoch: this.config.ELECTRA_FORK_EPOCH});
break;

default:
}
}
Expand Down

1 comment on commit dad9037

@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: dad9037 Previous: f87eb0b Ratio
state getBlockRootAtSlot - 250000 vs - 7PWei 1.6025 us/op 471.21 ns/op 3.40
browser block root to RootHex using the deprecated toHexString 680.49 ns/op 226.04 ns/op 3.01
browser block root to RootHex using toHex 643.44 ns/op 184.61 ns/op 3.49
Full benchmark results
Benchmark suite Current: dad9037 Previous: f87eb0b Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.6714 ms/op 2.0193 ms/op 0.83
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 45.261 us/op 72.523 us/op 0.62
BLS verify - blst 1.3739 ms/op 973.56 us/op 1.41
BLS verifyMultipleSignatures 3 - blst 2.2450 ms/op 1.3288 ms/op 1.69
BLS verifyMultipleSignatures 8 - blst 2.5323 ms/op 1.9579 ms/op 1.29
BLS verifyMultipleSignatures 32 - blst 7.4077 ms/op 6.0256 ms/op 1.23
BLS verifyMultipleSignatures 64 - blst 11.132 ms/op 11.363 ms/op 0.98
BLS verifyMultipleSignatures 128 - blst 17.333 ms/op 18.769 ms/op 0.92
BLS deserializing 10000 signatures 679.15 ms/op 725.23 ms/op 0.94
BLS deserializing 100000 signatures 6.9662 s/op 7.2760 s/op 0.96
BLS verifyMultipleSignatures - same message - 3 - blst 1.0703 ms/op 1.0996 ms/op 0.97
BLS verifyMultipleSignatures - same message - 8 - blst 1.4989 ms/op 1.2579 ms/op 1.19
BLS verifyMultipleSignatures - same message - 32 - blst 1.8761 ms/op 2.0688 ms/op 0.91
BLS verifyMultipleSignatures - same message - 64 - blst 2.5647 ms/op 2.9753 ms/op 0.86
BLS verifyMultipleSignatures - same message - 128 - blst 4.3642 ms/op 4.8763 ms/op 0.89
BLS aggregatePubkeys 32 - blst 19.959 us/op 21.285 us/op 0.94
BLS aggregatePubkeys 128 - blst 70.011 us/op 75.037 us/op 0.93
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 88.632 ms/op 119.99 ms/op 0.74
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 71.325 ms/op 64.914 ms/op 1.10
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 56.663 ms/op 51.071 ms/op 1.11
getSlashingsAndExits - default max 131.73 us/op 161.52 us/op 0.82
getSlashingsAndExits - 2k 380.09 us/op 500.27 us/op 0.76
proposeBlockBody type=full, size=empty 6.2770 ms/op 7.0703 ms/op 0.89
isKnown best case - 1 super set check 301.00 ns/op 457.00 ns/op 0.66
isKnown normal case - 2 super set checks 295.00 ns/op 309.00 ns/op 0.95
isKnown worse case - 16 super set checks 292.00 ns/op 287.00 ns/op 1.02
InMemoryCheckpointStateCache - add get delete 2.8620 us/op 3.6040 us/op 0.79
validate api signedAggregateAndProof - struct 1.8409 ms/op 1.4921 ms/op 1.23
validate gossip signedAggregateAndProof - struct 2.0581 ms/op 1.6001 ms/op 1.29
batch validate gossip attestation - vc 640000 - chunk 32 137.68 us/op 144.88 us/op 0.95
batch validate gossip attestation - vc 640000 - chunk 64 122.47 us/op 127.80 us/op 0.96
batch validate gossip attestation - vc 640000 - chunk 128 120.92 us/op 121.81 us/op 0.99
batch validate gossip attestation - vc 640000 - chunk 256 134.38 us/op 125.87 us/op 1.07
pickEth1Vote - no votes 1.4279 ms/op 1.2073 ms/op 1.18
pickEth1Vote - max votes 8.2460 ms/op 10.744 ms/op 0.77
pickEth1Vote - Eth1Data hashTreeRoot value x2048 19.249 ms/op 21.128 ms/op 0.91
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 25.857 ms/op 29.956 ms/op 0.86
pickEth1Vote - Eth1Data fastSerialize value x2048 673.36 us/op 596.62 us/op 1.13
pickEth1Vote - Eth1Data fastSerialize tree x2048 3.5191 ms/op 4.3777 ms/op 0.80
bytes32 toHexString 662.00 ns/op 570.00 ns/op 1.16
bytes32 Buffer.toString(hex) 299.00 ns/op 274.00 ns/op 1.09
bytes32 Buffer.toString(hex) from Uint8Array 514.00 ns/op 436.00 ns/op 1.18
bytes32 Buffer.toString(hex) + 0x 305.00 ns/op 264.00 ns/op 1.16
Object access 1 prop 0.20700 ns/op 0.16500 ns/op 1.25
Map access 1 prop 0.16400 ns/op 0.13800 ns/op 1.19
Object get x1000 7.9410 ns/op 6.1980 ns/op 1.28
Map get x1000 8.4860 ns/op 6.9630 ns/op 1.22
Object set x1000 55.344 ns/op 37.474 ns/op 1.48
Map set x1000 36.520 ns/op 29.467 ns/op 1.24
Return object 10000 times 0.35520 ns/op 0.31250 ns/op 1.14
Throw Error 10000 times 4.1860 us/op 3.5077 us/op 1.19
toHex 196.92 ns/op 160.67 ns/op 1.23
Buffer.from 185.07 ns/op 152.44 ns/op 1.21
shared Buffer 116.86 ns/op 92.748 ns/op 1.26
fastMsgIdFn sha256 / 200 bytes 2.8650 us/op 2.3630 us/op 1.21
fastMsgIdFn h32 xxhash / 200 bytes 328.00 ns/op 296.00 ns/op 1.11
fastMsgIdFn h64 xxhash / 200 bytes 332.00 ns/op 332.00 ns/op 1.00
fastMsgIdFn sha256 / 1000 bytes 8.9630 us/op 7.7770 us/op 1.15
fastMsgIdFn h32 xxhash / 1000 bytes 478.00 ns/op 441.00 ns/op 1.08
fastMsgIdFn h64 xxhash / 1000 bytes 412.00 ns/op 365.00 ns/op 1.13
fastMsgIdFn sha256 / 10000 bytes 79.598 us/op 66.635 us/op 1.19
fastMsgIdFn h32 xxhash / 10000 bytes 2.1850 us/op 2.0480 us/op 1.07
fastMsgIdFn h64 xxhash / 10000 bytes 1.4320 us/op 1.2980 us/op 1.10
send data - 1000 256B messages 16.245 ms/op 15.096 ms/op 1.08
send data - 1000 512B messages 22.505 ms/op 22.652 ms/op 0.99
send data - 1000 1024B messages 33.818 ms/op 37.638 ms/op 0.90
send data - 1000 1200B messages 27.103 ms/op 30.734 ms/op 0.88
send data - 1000 2048B messages 44.433 ms/op 38.796 ms/op 1.15
send data - 1000 4096B messages 41.785 ms/op 35.355 ms/op 1.18
send data - 1000 16384B messages 88.190 ms/op 79.589 ms/op 1.11
send data - 1000 65536B messages 241.83 ms/op 257.54 ms/op 0.94
enrSubnets - fastDeserialize 64 bits 1.2580 us/op 1.3320 us/op 0.94
enrSubnets - ssz BitVector 64 bits 533.00 ns/op 452.00 ns/op 1.18
enrSubnets - fastDeserialize 4 bits 195.00 ns/op 179.00 ns/op 1.09
enrSubnets - ssz BitVector 4 bits 443.00 ns/op 446.00 ns/op 0.99
prioritizePeers score -10:0 att 32-0.1 sync 2-0 207.98 us/op 181.03 us/op 1.15
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 258.53 us/op 207.53 us/op 1.25
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 319.10 us/op 324.48 us/op 0.98
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 532.45 us/op 521.73 us/op 1.02
prioritizePeers score 0:0 att 64-1 sync 4-1 590.22 us/op 677.83 us/op 0.87
array of 16000 items push then shift 1.8154 us/op 1.7223 us/op 1.05
LinkedList of 16000 items push then shift 8.3130 ns/op 7.8830 ns/op 1.05
array of 16000 items push then pop 127.12 ns/op 132.16 ns/op 0.96
LinkedList of 16000 items push then pop 7.7100 ns/op 7.3270 ns/op 1.05
array of 24000 items push then shift 2.6233 us/op 2.5167 us/op 1.04
LinkedList of 24000 items push then shift 7.8630 ns/op 7.9700 ns/op 0.99
array of 24000 items push then pop 151.92 ns/op 148.99 ns/op 1.02
LinkedList of 24000 items push then pop 7.6430 ns/op 7.3110 ns/op 1.05
intersect bitArray bitLen 8 7.2390 ns/op 6.8590 ns/op 1.06
intersect array and set length 8 48.574 ns/op 47.896 ns/op 1.01
intersect bitArray bitLen 128 34.620 ns/op 31.795 ns/op 1.09
intersect array and set length 128 737.08 ns/op 775.52 ns/op 0.95
bitArray.getTrueBitIndexes() bitLen 128 1.3540 us/op 1.4110 us/op 0.96
bitArray.getTrueBitIndexes() bitLen 248 2.3320 us/op 2.2950 us/op 1.02
bitArray.getTrueBitIndexes() bitLen 512 4.5710 us/op 4.8390 us/op 0.94
Buffer.concat 32 items 820.00 ns/op 921.00 ns/op 0.89
Uint8Array.set 32 items 2.0440 us/op 1.6560 us/op 1.23
Buffer.copy 3.5380 us/op 2.8200 us/op 1.25
Uint8Array.set - with subarray 3.3500 us/op 2.1930 us/op 1.53
Uint8Array.set - without subarray 1.6110 us/op 1.5120 us/op 1.07
getUint32 - dataview 248.00 ns/op 260.00 ns/op 0.95
getUint32 - manual 173.00 ns/op 187.00 ns/op 0.93
Set add up to 64 items then delete first 2.4761 us/op 2.5453 us/op 0.97
OrderedSet add up to 64 items then delete first 3.6955 us/op 3.9782 us/op 0.93
Set add up to 64 items then delete last 3.0400 us/op 2.8966 us/op 1.05
OrderedSet add up to 64 items then delete last 4.6110 us/op 3.9356 us/op 1.17
Set add up to 64 items then delete middle 3.1277 us/op 2.7739 us/op 1.13
OrderedSet add up to 64 items then delete middle 6.5149 us/op 6.6059 us/op 0.99
Set add up to 128 items then delete first 5.7882 us/op 6.2502 us/op 0.93
OrderedSet add up to 128 items then delete first 8.3644 us/op 9.5870 us/op 0.87
Set add up to 128 items then delete last 5.9096 us/op 5.8173 us/op 1.02
OrderedSet add up to 128 items then delete last 9.7616 us/op 8.2397 us/op 1.18
Set add up to 128 items then delete middle 5.8988 us/op 5.4850 us/op 1.08
OrderedSet add up to 128 items then delete middle 16.459 us/op 14.596 us/op 1.13
Set add up to 256 items then delete first 11.741 us/op 10.613 us/op 1.11
OrderedSet add up to 256 items then delete first 17.505 us/op 16.311 us/op 1.07
Set add up to 256 items then delete last 11.900 us/op 9.9578 us/op 1.20
OrderedSet add up to 256 items then delete last 19.640 us/op 15.119 us/op 1.30
Set add up to 256 items then delete middle 12.399 us/op 10.139 us/op 1.22
OrderedSet add up to 256 items then delete middle 52.149 us/op 44.117 us/op 1.18
transfer serialized Status (84 B) 3.0520 us/op 2.6720 us/op 1.14
copy serialized Status (84 B) 1.5190 us/op 1.3540 us/op 1.12
transfer serialized SignedVoluntaryExit (112 B) 3.3080 us/op 2.7600 us/op 1.20
copy serialized SignedVoluntaryExit (112 B) 1.6520 us/op 1.3270 us/op 1.24
transfer serialized ProposerSlashing (416 B) 3.2520 us/op 2.9480 us/op 1.10
copy serialized ProposerSlashing (416 B) 1.8570 us/op 1.6330 us/op 1.14
transfer serialized Attestation (485 B) 3.1410 us/op 3.0800 us/op 1.02
copy serialized Attestation (485 B) 1.8000 us/op 2.0200 us/op 0.89
transfer serialized AttesterSlashing (33232 B) 3.0580 us/op 2.8920 us/op 1.06
copy serialized AttesterSlashing (33232 B) 5.0530 us/op 5.8140 us/op 0.87
transfer serialized Small SignedBeaconBlock (128000 B) 3.5430 us/op 3.6910 us/op 0.96
copy serialized Small SignedBeaconBlock (128000 B) 14.251 us/op 14.416 us/op 0.99
transfer serialized Avg SignedBeaconBlock (200000 B) 4.2710 us/op 4.1950 us/op 1.02
copy serialized Avg SignedBeaconBlock (200000 B) 20.343 us/op 21.492 us/op 0.95
transfer serialized BlobsSidecar (524380 B) 4.1320 us/op 3.9720 us/op 1.04
copy serialized BlobsSidecar (524380 B) 212.78 us/op 121.76 us/op 1.75
transfer serialized Big SignedBeaconBlock (1000000 B) 4.4210 us/op 4.0230 us/op 1.10
copy serialized Big SignedBeaconBlock (1000000 B) 159.37 us/op 145.95 us/op 1.09
pass gossip attestations to forkchoice per slot 3.1077 ms/op 2.9515 ms/op 1.05
forkChoice updateHead vc 100000 bc 64 eq 0 611.63 us/op 519.83 us/op 1.18
forkChoice updateHead vc 600000 bc 64 eq 0 4.1447 ms/op 3.5006 ms/op 1.18
forkChoice updateHead vc 1000000 bc 64 eq 0 6.1953 ms/op 4.4390 ms/op 1.40
forkChoice updateHead vc 600000 bc 320 eq 0 3.5509 ms/op 2.6386 ms/op 1.35
forkChoice updateHead vc 600000 bc 1200 eq 0 3.3123 ms/op 2.8258 ms/op 1.17
forkChoice updateHead vc 600000 bc 7200 eq 0 4.2775 ms/op 3.5177 ms/op 1.22
forkChoice updateHead vc 600000 bc 64 eq 1000 12.190 ms/op 10.783 ms/op 1.13
forkChoice updateHead vc 600000 bc 64 eq 10000 11.886 ms/op 10.822 ms/op 1.10
forkChoice updateHead vc 600000 bc 64 eq 300000 15.610 ms/op 14.055 ms/op 1.11
computeDeltas 500000 validators 300 proto nodes 4.4837 ms/op 4.5389 ms/op 0.99
computeDeltas 500000 validators 1200 proto nodes 4.5024 ms/op 4.3303 ms/op 1.04
computeDeltas 500000 validators 7200 proto nodes 4.3063 ms/op 4.4770 ms/op 0.96
computeDeltas 750000 validators 300 proto nodes 6.6033 ms/op 6.3242 ms/op 1.04
computeDeltas 750000 validators 1200 proto nodes 6.7198 ms/op 6.2535 ms/op 1.07
computeDeltas 750000 validators 7200 proto nodes 6.5168 ms/op 6.3260 ms/op 1.03
computeDeltas 1400000 validators 300 proto nodes 11.792 ms/op 11.654 ms/op 1.01
computeDeltas 1400000 validators 1200 proto nodes 12.022 ms/op 11.784 ms/op 1.02
computeDeltas 1400000 validators 7200 proto nodes 12.470 ms/op 11.559 ms/op 1.08
computeDeltas 2100000 validators 300 proto nodes 19.145 ms/op 17.653 ms/op 1.08
computeDeltas 2100000 validators 1200 proto nodes 18.850 ms/op 18.238 ms/op 1.03
computeDeltas 2100000 validators 7200 proto nodes 19.305 ms/op 17.696 ms/op 1.09
altair processAttestation - 250000 vs - 7PWei normalcase 1.8136 ms/op 1.8570 ms/op 0.98
altair processAttestation - 250000 vs - 7PWei worstcase 2.7216 ms/op 2.8328 ms/op 0.96
altair processAttestation - setStatus - 1/6 committees join 98.350 us/op 129.09 us/op 0.76
altair processAttestation - setStatus - 1/3 committees join 198.78 us/op 249.87 us/op 0.80
altair processAttestation - setStatus - 1/2 committees join 270.88 us/op 347.76 us/op 0.78
altair processAttestation - setStatus - 2/3 committees join 377.99 us/op 455.51 us/op 0.83
altair processAttestation - setStatus - 4/5 committees join 543.60 us/op 626.89 us/op 0.87
altair processAttestation - setStatus - 100% committees join 619.60 us/op 761.47 us/op 0.81
altair processBlock - 250000 vs - 7PWei normalcase 4.3690 ms/op 7.3515 ms/op 0.59
altair processBlock - 250000 vs - 7PWei normalcase hashState 30.939 ms/op 26.022 ms/op 1.19
altair processBlock - 250000 vs - 7PWei worstcase 43.170 ms/op 39.260 ms/op 1.10
altair processBlock - 250000 vs - 7PWei worstcase hashState 101.96 ms/op 76.285 ms/op 1.34
phase0 processBlock - 250000 vs - 7PWei normalcase 2.2050 ms/op 2.2440 ms/op 0.98
phase0 processBlock - 250000 vs - 7PWei worstcase 25.981 ms/op 25.449 ms/op 1.02
altair processEth1Data - 250000 vs - 7PWei normalcase 383.29 us/op 341.64 us/op 1.12
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 9.1980 us/op 8.7230 us/op 1.05
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 71.224 us/op 61.035 us/op 1.17
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 14.034 us/op 12.095 us/op 1.16
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 12.005 us/op 8.6960 us/op 1.38
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 246.32 us/op 211.38 us/op 1.17
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 2.0364 ms/op 1.3729 ms/op 1.48
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 2.8303 ms/op 1.9150 ms/op 1.48
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 2.1470 ms/op 2.1713 ms/op 0.99
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.6808 ms/op 3.8852 ms/op 0.95
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.2207 ms/op 1.9323 ms/op 1.15
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.9604 ms/op 4.5664 ms/op 0.87
Tree 40 250000 create 217.56 ms/op 224.71 ms/op 0.97
Tree 40 250000 get(125000) 146.32 ns/op 146.52 ns/op 1.00
Tree 40 250000 set(125000) 659.65 ns/op 664.16 ns/op 0.99
Tree 40 250000 toArray() 15.431 ms/op 16.033 ms/op 0.96
Tree 40 250000 iterate all - toArray() + loop 15.296 ms/op 16.516 ms/op 0.93
Tree 40 250000 iterate all - get(i) 51.060 ms/op 55.981 ms/op 0.91
Array 250000 create 2.9179 ms/op 3.5994 ms/op 0.81
Array 250000 clone - spread 1.5217 ms/op 1.5013 ms/op 1.01
Array 250000 get(125000) 0.41700 ns/op 0.43000 ns/op 0.97
Array 250000 set(125000) 0.44500 ns/op 0.45800 ns/op 0.97
Array 250000 iterate all - loop 107.64 us/op 85.554 us/op 1.26
phase0 afterProcessEpoch - 250000 vs - 7PWei 50.357 ms/op 53.823 ms/op 0.94
Array.fill - length 1000000 3.6854 ms/op 3.8841 ms/op 0.95
Array push - length 1000000 17.401 ms/op 22.116 ms/op 0.79
Array.get 0.27454 ns/op 0.30101 ns/op 0.91
Uint8Array.get 0.44688 ns/op 0.45835 ns/op 0.97
phase0 beforeProcessEpoch - 250000 vs - 7PWei 15.831 ms/op 20.130 ms/op 0.79
altair processEpoch - mainnet_e81889 320.58 ms/op 330.83 ms/op 0.97
mainnet_e81889 - altair beforeProcessEpoch 18.024 ms/op 20.872 ms/op 0.86
mainnet_e81889 - altair processJustificationAndFinalization 26.280 us/op 16.382 us/op 1.60
mainnet_e81889 - altair processInactivityUpdates 5.0846 ms/op 7.4243 ms/op 0.68
mainnet_e81889 - altair processRewardsAndPenalties 59.056 ms/op 49.949 ms/op 1.18
mainnet_e81889 - altair processRegistryUpdates 4.2500 us/op 2.7370 us/op 1.55
mainnet_e81889 - altair processSlashings 514.00 ns/op 463.00 ns/op 1.11
mainnet_e81889 - altair processEth1DataReset 982.00 ns/op 536.00 ns/op 1.83
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.5698 ms/op 1.7489 ms/op 1.47
mainnet_e81889 - altair processSlashingsReset 5.7910 us/op 5.2180 us/op 1.11
mainnet_e81889 - altair processRandaoMixesReset 8.4740 us/op 9.5000 us/op 0.89
mainnet_e81889 - altair processHistoricalRootsUpdate 1.1050 us/op 640.00 ns/op 1.73
mainnet_e81889 - altair processParticipationFlagUpdates 2.8540 us/op 2.3810 us/op 1.20
mainnet_e81889 - altair processSyncCommitteeUpdates 719.00 ns/op 729.00 ns/op 0.99
mainnet_e81889 - altair afterProcessEpoch 52.507 ms/op 52.798 ms/op 0.99
capella processEpoch - mainnet_e217614 1.1666 s/op 1.0804 s/op 1.08
mainnet_e217614 - capella beforeProcessEpoch 70.738 ms/op 68.562 ms/op 1.03
mainnet_e217614 - capella processJustificationAndFinalization 18.868 us/op 13.456 us/op 1.40
mainnet_e217614 - capella processInactivityUpdates 18.696 ms/op 17.348 ms/op 1.08
mainnet_e217614 - capella processRewardsAndPenalties 263.46 ms/op 235.42 ms/op 1.12
mainnet_e217614 - capella processRegistryUpdates 21.990 us/op 22.758 us/op 0.97
mainnet_e217614 - capella processSlashings 1.1080 us/op 739.00 ns/op 1.50
mainnet_e217614 - capella processEth1DataReset 800.00 ns/op 545.00 ns/op 1.47
mainnet_e217614 - capella processEffectiveBalanceUpdates 10.460 ms/op 4.5232 ms/op 2.31
mainnet_e217614 - capella processSlashingsReset 5.1880 us/op 5.3400 us/op 0.97
mainnet_e217614 - capella processRandaoMixesReset 7.2810 us/op 5.7890 us/op 1.26
mainnet_e217614 - capella processHistoricalRootsUpdate 669.00 ns/op 992.00 ns/op 0.67
mainnet_e217614 - capella processParticipationFlagUpdates 3.3890 us/op 2.7580 us/op 1.23
mainnet_e217614 - capella afterProcessEpoch 125.37 ms/op 127.18 ms/op 0.99
phase0 processEpoch - mainnet_e58758 359.83 ms/op 357.44 ms/op 1.01
mainnet_e58758 - phase0 beforeProcessEpoch 94.284 ms/op 83.182 ms/op 1.13
mainnet_e58758 - phase0 processJustificationAndFinalization 20.542 us/op 12.850 us/op 1.60
mainnet_e58758 - phase0 processRewardsAndPenalties 31.981 ms/op 23.771 ms/op 1.35
mainnet_e58758 - phase0 processRegistryUpdates 14.964 us/op 12.634 us/op 1.18
mainnet_e58758 - phase0 processSlashings 1.0320 us/op 827.00 ns/op 1.25
mainnet_e58758 - phase0 processEth1DataReset 841.00 ns/op 701.00 ns/op 1.20
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.1060 ms/op 1.8371 ms/op 1.15
mainnet_e58758 - phase0 processSlashingsReset 5.0150 us/op 4.1710 us/op 1.20
mainnet_e58758 - phase0 processRandaoMixesReset 7.1280 us/op 7.2170 us/op 0.99
mainnet_e58758 - phase0 processHistoricalRootsUpdate 943.00 ns/op 531.00 ns/op 1.78
mainnet_e58758 - phase0 processParticipationRecordUpdates 5.9560 us/op 4.1570 us/op 1.43
mainnet_e58758 - phase0 afterProcessEpoch 44.454 ms/op 41.992 ms/op 1.06
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.4508 ms/op 1.3092 ms/op 1.87
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.9415 ms/op 1.9837 ms/op 0.98
altair processInactivityUpdates - 250000 normalcase 20.872 ms/op 20.761 ms/op 1.01
altair processInactivityUpdates - 250000 worstcase 20.903 ms/op 20.396 ms/op 1.02
phase0 processRegistryUpdates - 250000 normalcase 15.504 us/op 10.090 us/op 1.54
phase0 processRegistryUpdates - 250000 badcase_full_deposits 487.20 us/op 518.64 us/op 0.94
phase0 processRegistryUpdates - 250000 worstcase 0.5 97.241 ms/op 120.97 ms/op 0.80
altair processRewardsAndPenalties - 250000 normalcase 46.794 ms/op 54.999 ms/op 0.85
altair processRewardsAndPenalties - 250000 worstcase 59.644 ms/op 45.357 ms/op 1.32
phase0 getAttestationDeltas - 250000 normalcase 7.5587 ms/op 7.6510 ms/op 0.99
phase0 getAttestationDeltas - 250000 worstcase 7.2533 ms/op 7.6154 ms/op 0.95
phase0 processSlashings - 250000 worstcase 123.66 us/op 127.60 us/op 0.97
altair processSyncCommitteeUpdates - 250000 119.63 ms/op 130.80 ms/op 0.91
BeaconState.hashTreeRoot - No change 242.00 ns/op 253.00 ns/op 0.96
BeaconState.hashTreeRoot - 1 full validator 128.21 us/op 101.74 us/op 1.26
BeaconState.hashTreeRoot - 32 full validator 1.4532 ms/op 918.99 us/op 1.58
BeaconState.hashTreeRoot - 512 full validator 11.748 ms/op 8.9125 ms/op 1.32
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 143.17 us/op 120.54 us/op 1.19
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.9799 ms/op 1.7106 ms/op 1.16
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 25.005 ms/op 24.262 ms/op 1.03
BeaconState.hashTreeRoot - 1 balances 130.87 us/op 88.559 us/op 1.48
BeaconState.hashTreeRoot - 32 balances 1.1627 ms/op 798.05 us/op 1.46
BeaconState.hashTreeRoot - 512 balances 9.7676 ms/op 7.2387 ms/op 1.35
BeaconState.hashTreeRoot - 250000 balances 190.03 ms/op 146.02 ms/op 1.30
aggregationBits - 2048 els - zipIndexesInBitList 24.116 us/op 24.086 us/op 1.00
byteArrayEquals 32 55.117 ns/op 55.244 ns/op 1.00
Buffer.compare 32 17.645 ns/op 17.558 ns/op 1.00
byteArrayEquals 1024 1.6670 us/op 1.6241 us/op 1.03
Buffer.compare 1024 26.122 ns/op 25.315 ns/op 1.03
byteArrayEquals 16384 25.853 us/op 25.811 us/op 1.00
Buffer.compare 16384 207.33 ns/op 181.55 ns/op 1.14
byteArrayEquals 123687377 204.08 ms/op 192.48 ms/op 1.06
Buffer.compare 123687377 6.4984 ms/op 6.5839 ms/op 0.99
byteArrayEquals 32 - diff last byte 54.977 ns/op 53.114 ns/op 1.04
Buffer.compare 32 - diff last byte 18.329 ns/op 17.759 ns/op 1.03
byteArrayEquals 1024 - diff last byte 1.7153 us/op 1.6008 us/op 1.07
Buffer.compare 1024 - diff last byte 28.125 ns/op 26.226 ns/op 1.07
byteArrayEquals 16384 - diff last byte 26.580 us/op 25.525 us/op 1.04
Buffer.compare 16384 - diff last byte 195.12 ns/op 205.66 ns/op 0.95
byteArrayEquals 123687377 - diff last byte 195.87 ms/op 192.55 ms/op 1.02
Buffer.compare 123687377 - diff last byte 6.4354 ms/op 6.3487 ms/op 1.01
byteArrayEquals 32 - random bytes 5.3970 ns/op 5.0750 ns/op 1.06
Buffer.compare 32 - random bytes 18.300 ns/op 16.910 ns/op 1.08
byteArrayEquals 1024 - random bytes 5.3270 ns/op 5.0630 ns/op 1.05
Buffer.compare 1024 - random bytes 18.248 ns/op 18.595 ns/op 0.98
byteArrayEquals 16384 - random bytes 5.3340 ns/op 5.0540 ns/op 1.06
Buffer.compare 16384 - random bytes 18.156 ns/op 16.868 ns/op 1.08
byteArrayEquals 123687377 - random bytes 6.8000 ns/op 6.3400 ns/op 1.07
Buffer.compare 123687377 - random bytes 19.410 ns/op 18.190 ns/op 1.07
regular array get 100000 times 38.635 us/op 32.441 us/op 1.19
wrappedArray get 100000 times 33.338 us/op 32.424 us/op 1.03
arrayWithProxy get 100000 times 13.935 ms/op 14.739 ms/op 0.95
ssz.Root.equals 46.983 ns/op 45.436 ns/op 1.03
byteArrayEquals 46.227 ns/op 44.700 ns/op 1.03
Buffer.compare 10.665 ns/op 10.194 ns/op 1.05
processSlot - 1 slots 14.204 us/op 11.847 us/op 1.20
processSlot - 32 slots 3.5061 ms/op 3.7805 ms/op 0.93
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 42.942 ms/op 41.505 ms/op 1.03
getCommitteeAssignments - req 1 vs - 250000 vc 2.2298 ms/op 2.1645 ms/op 1.03
getCommitteeAssignments - req 100 vs - 250000 vc 4.3057 ms/op 4.2036 ms/op 1.02
getCommitteeAssignments - req 1000 vs - 250000 vc 4.5921 ms/op 4.4693 ms/op 1.03
findModifiedValidators - 10000 modified validators 239.12 ms/op 224.52 ms/op 1.07
findModifiedValidators - 1000 modified validators 213.35 ms/op 168.00 ms/op 1.27
findModifiedValidators - 100 modified validators 166.34 ms/op 147.71 ms/op 1.13
findModifiedValidators - 10 modified validators 177.70 ms/op 139.60 ms/op 1.27
findModifiedValidators - 1 modified validators 164.06 ms/op 147.29 ms/op 1.11
findModifiedValidators - no difference 171.13 ms/op 163.73 ms/op 1.05
compare ViewDUs 3.7360 s/op 3.1871 s/op 1.17
compare each validator Uint8Array 1.5663 s/op 2.0188 s/op 0.78
compare ViewDU to Uint8Array 1.3446 s/op 920.83 ms/op 1.46
migrate state 1000000 validators, 24 modified, 0 new 947.47 ms/op 777.84 ms/op 1.22
migrate state 1000000 validators, 1700 modified, 1000 new 1.4271 s/op 1.0066 s/op 1.42
migrate state 1000000 validators, 3400 modified, 2000 new 2.0999 s/op 1.1908 s/op 1.76
migrate state 1500000 validators, 24 modified, 0 new 1.4782 s/op 760.59 ms/op 1.94
migrate state 1500000 validators, 1700 modified, 1000 new 1.9180 s/op 993.52 ms/op 1.93
migrate state 1500000 validators, 3400 modified, 2000 new 2.7879 s/op 1.1621 s/op 2.40
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 10.460 ns/op 4.4500 ns/op 2.35
state getBlockRootAtSlot - 250000 vs - 7PWei 1.6025 us/op 471.21 ns/op 3.40
computeProposers - vc 250000 14.693 ms/op 6.6324 ms/op 2.22
computeEpochShuffling - vc 250000 102.29 ms/op 42.133 ms/op 2.43
getNextSyncCommittee - vc 250000 304.23 ms/op 117.13 ms/op 2.60
computeSigningRoot for AttestationData 48.169 us/op 16.730 us/op 2.88
hash AttestationData serialized data then Buffer.toString(base64) 4.1870 us/op 1.6162 us/op 2.59
toHexString serialized data 2.7755 us/op 929.43 ns/op 2.99
Buffer.toString(base64) 475.49 ns/op 175.56 ns/op 2.71
nodejs block root to RootHex using toHex 351.14 ns/op 144.98 ns/op 2.42
nodejs block root to RootHex using toRootHex 255.39 ns/op 90.049 ns/op 2.84
browser block root to RootHex using the deprecated toHexString 680.49 ns/op 226.04 ns/op 3.01
browser block root to RootHex using toHex 643.44 ns/op 184.61 ns/op 3.49
browser block root to RootHex using toRootHex 411.35 ns/op 162.83 ns/op 2.53

Please sign in to comment.