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

feat: add giraffe banner for electra fork activation #7233

Open
wants to merge 1 commit into
base: unstable
Choose a base branch
from

Conversation

ensi321
Copy link
Contributor

@ensi321 ensi321 commented Nov 20, 2024

Need to keep up with the ascii art game. I have two contenders: single or double giraffes.

Feel free to post your banner if you have a better one.

@ensi321 ensi321 requested a review from a team as a code owner November 20, 2024 09:50
@nflaig
Copy link
Member

nflaig commented Nov 20, 2024

export const ELECTRA_GIRAFFE_BANNER = String.raw`
                                                                                 
           A--A
       .-./   #\.-.
      '--;d    b;--'
         \# \/  /
          \'--'/
           |==|
           | #|
           |# |
          /   #\
         ;   #  ;
         | #    |
        /|  ,, #|\
       /#|  ||  | \
   .-.'  |# ||  |# '.-.
  (.=.),'|  ||# |',(.=.)
   '-'  /  #)(   \  '-'
        '""'  '""'
---------------------------------------------------------
  --  ___  ----  __   --  ___  ----  __ ---   ____   ---- 
--   __ -- _____ ---  __ --   __ -- _____ --- __  ----  _
`;

Got this one but there is no theme to it, I like yours more

Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: f2c5cf4 Previous: 25c2ee5 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.7198 ms/op 1.9392 ms/op 0.89
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 38.671 us/op 43.709 us/op 0.88
BLS verify - blst 867.25 us/op 758.45 us/op 1.14
BLS verifyMultipleSignatures 3 - blst 1.6623 ms/op 1.1392 ms/op 1.46
BLS verifyMultipleSignatures 8 - blst 2.0532 ms/op 1.6111 ms/op 1.27
BLS verifyMultipleSignatures 32 - blst 4.1055 ms/op 4.7233 ms/op 0.87
BLS verifyMultipleSignatures 64 - blst 8.1776 ms/op 8.8395 ms/op 0.93
BLS verifyMultipleSignatures 128 - blst 15.710 ms/op 16.762 ms/op 0.94
BLS deserializing 10000 signatures 623.37 ms/op 667.45 ms/op 0.93
BLS deserializing 100000 signatures 6.2089 s/op 6.8311 s/op 0.91
BLS verifyMultipleSignatures - same message - 3 - blst 964.95 us/op 941.34 us/op 1.03
BLS verifyMultipleSignatures - same message - 8 - blst 1.0918 ms/op 1.0598 ms/op 1.03
BLS verifyMultipleSignatures - same message - 32 - blst 1.6915 ms/op 1.7221 ms/op 0.98
BLS verifyMultipleSignatures - same message - 64 - blst 2.5807 ms/op 2.6352 ms/op 0.98
BLS verifyMultipleSignatures - same message - 128 - blst 4.2040 ms/op 4.4194 ms/op 0.95
BLS aggregatePubkeys 32 - blst 17.731 us/op 19.713 us/op 0.90
BLS aggregatePubkeys 128 - blst 63.144 us/op 70.130 us/op 0.90
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 56.558 ms/op 52.783 ms/op 1.07
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 61.559 ms/op 61.743 ms/op 1.00
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 39.198 ms/op 38.793 ms/op 1.01
getSlashingsAndExits - default max 70.193 us/op 98.766 us/op 0.71
getSlashingsAndExits - 2k 322.88 us/op 350.39 us/op 0.92
proposeBlockBody type=full, size=empty 5.2472 ms/op 6.5631 ms/op 0.80
isKnown best case - 1 super set check 508.00 ns/op 329.00 ns/op 1.54
isKnown normal case - 2 super set checks 490.00 ns/op 336.00 ns/op 1.46
isKnown worse case - 16 super set checks 484.00 ns/op 303.00 ns/op 1.60
InMemoryCheckpointStateCache - add get delete 3.3080 us/op 3.0060 us/op 1.10
updateUnfinalizedPubkeys - updating 10 pubkeys 738.21 us/op 968.09 us/op 0.76
updateUnfinalizedPubkeys - updating 100 pubkeys 3.3122 ms/op 3.6743 ms/op 0.90
updateUnfinalizedPubkeys - updating 1000 pubkeys 44.186 ms/op 52.970 ms/op 0.83
validate api signedAggregateAndProof - struct 1.5250 ms/op 1.3824 ms/op 1.10
validate gossip signedAggregateAndProof - struct 1.5216 ms/op 1.4387 ms/op 1.06
batch validate gossip attestation - vc 640000 - chunk 32 130.27 us/op 123.57 us/op 1.05
batch validate gossip attestation - vc 640000 - chunk 64 120.76 us/op 108.26 us/op 1.12
batch validate gossip attestation - vc 640000 - chunk 128 111.27 us/op 109.69 us/op 1.01
batch validate gossip attestation - vc 640000 - chunk 256 110.53 us/op 103.58 us/op 1.07
pickEth1Vote - no votes 1.0462 ms/op 1.1594 ms/op 0.90
pickEth1Vote - max votes 7.0756 ms/op 7.0794 ms/op 1.00
pickEth1Vote - Eth1Data hashTreeRoot value x2048 19.355 ms/op 17.201 ms/op 1.13
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 21.266 ms/op 22.483 ms/op 0.95
pickEth1Vote - Eth1Data fastSerialize value x2048 368.67 us/op 539.55 us/op 0.68
pickEth1Vote - Eth1Data fastSerialize tree x2048 4.8241 ms/op 5.0929 ms/op 0.95
bytes32 toHexString 773.00 ns/op 435.00 ns/op 1.78
bytes32 Buffer.toString(hex) 490.00 ns/op 255.00 ns/op 1.92
bytes32 Buffer.toString(hex) from Uint8Array 660.00 ns/op 358.00 ns/op 1.84
bytes32 Buffer.toString(hex) + 0x 485.00 ns/op 251.00 ns/op 1.93
Object access 1 prop 0.38400 ns/op 0.14000 ns/op 2.74
Map access 1 prop 0.33800 ns/op 0.13200 ns/op 2.56
Object get x1000 5.0140 ns/op 5.8530 ns/op 0.86
Map get x1000 5.8190 ns/op 6.3010 ns/op 0.92
Object set x1000 37.332 ns/op 45.077 ns/op 0.83
Map set x1000 23.759 ns/op 28.940 ns/op 0.82
Return object 10000 times 0.30430 ns/op 0.30030 ns/op 1.01
Throw Error 10000 times 2.8533 us/op 3.3739 us/op 0.85
toHex 147.71 ns/op 176.27 ns/op 0.84
Buffer.from 125.12 ns/op 163.55 ns/op 0.77
shared Buffer 78.469 ns/op 103.34 ns/op 0.76
fastMsgIdFn sha256 / 200 bytes 2.2780 us/op 2.3440 us/op 0.97
fastMsgIdFn h32 xxhash / 200 bytes 523.00 ns/op 287.00 ns/op 1.82
fastMsgIdFn h64 xxhash / 200 bytes 539.00 ns/op 288.00 ns/op 1.87
fastMsgIdFn sha256 / 1000 bytes 6.2200 us/op 7.4140 us/op 0.84
fastMsgIdFn h32 xxhash / 1000 bytes 660.00 ns/op 414.00 ns/op 1.59
fastMsgIdFn h64 xxhash / 1000 bytes 612.00 ns/op 351.00 ns/op 1.74
fastMsgIdFn sha256 / 10000 bytes 50.215 us/op 64.026 us/op 0.78
fastMsgIdFn h32 xxhash / 10000 bytes 2.0620 us/op 1.9210 us/op 1.07
fastMsgIdFn h64 xxhash / 10000 bytes 1.4400 us/op 1.2330 us/op 1.17
send data - 1000 256B messages 12.560 ms/op 13.525 ms/op 0.93
send data - 1000 512B messages 16.501 ms/op 17.269 ms/op 0.96
send data - 1000 1024B messages 24.799 ms/op 27.303 ms/op 0.91
send data - 1000 1200B messages 14.457 ms/op 19.474 ms/op 0.74
send data - 1000 2048B messages 28.417 ms/op 31.897 ms/op 0.89
send data - 1000 4096B messages 21.545 ms/op 31.012 ms/op 0.69
send data - 1000 16384B messages 71.140 ms/op 67.051 ms/op 1.06
send data - 1000 65536B messages 257.09 ms/op 199.23 ms/op 1.29
enrSubnets - fastDeserialize 64 bits 1.1100 us/op 1.0980 us/op 1.01
enrSubnets - ssz BitVector 64 bits 542.00 ns/op 372.00 ns/op 1.46
enrSubnets - fastDeserialize 4 bits 393.00 ns/op 162.00 ns/op 2.43
enrSubnets - ssz BitVector 4 bits 652.00 ns/op 372.00 ns/op 1.75
prioritizePeers score -10:0 att 32-0.1 sync 2-0 197.30 us/op 152.48 us/op 1.29
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 169.78 us/op 152.39 us/op 1.11
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 404.62 us/op 246.72 us/op 1.64
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 525.13 us/op 414.05 us/op 1.27
prioritizePeers score 0:0 att 64-1 sync 4-1 1.0347 ms/op 601.56 us/op 1.72
array of 16000 items push then shift 1.3486 us/op 1.6888 us/op 0.80
LinkedList of 16000 items push then shift 10.374 ns/op 7.6010 ns/op 1.36
array of 16000 items push then pop 149.91 ns/op 125.49 ns/op 1.19
LinkedList of 16000 items push then pop 6.9370 ns/op 7.4100 ns/op 0.94
array of 24000 items push then shift 1.9645 us/op 2.4679 us/op 0.80
LinkedList of 24000 items push then shift 10.509 ns/op 7.6400 ns/op 1.38
array of 24000 items push then pop 201.00 ns/op 166.54 ns/op 1.21
LinkedList of 24000 items push then pop 6.5650 ns/op 7.4470 ns/op 0.88
intersect bitArray bitLen 8 5.5610 ns/op 6.5870 ns/op 0.84
intersect array and set length 8 47.031 ns/op 46.634 ns/op 1.01
intersect bitArray bitLen 128 26.440 ns/op 29.705 ns/op 0.89
intersect array and set length 128 722.75 ns/op 687.28 ns/op 1.05
bitArray.getTrueBitIndexes() bitLen 128 2.5160 us/op 1.7350 us/op 1.45
bitArray.getTrueBitIndexes() bitLen 248 3.7870 us/op 3.5170 us/op 1.08
bitArray.getTrueBitIndexes() bitLen 512 8.9120 us/op 7.1450 us/op 1.25
Buffer.concat 32 items 1.0390 us/op 974.00 ns/op 1.07
Uint8Array.set 32 items 1.5710 us/op 1.6920 us/op 0.93
Buffer.copy 1.7440 us/op 1.9060 us/op 0.92
Uint8Array.set - with subarray 2.4360 us/op 2.8260 us/op 0.86
Uint8Array.set - without subarray 1.6970 us/op 1.5680 us/op 1.08
getUint32 - dataview 474.00 ns/op 264.00 ns/op 1.80
getUint32 - manual 439.00 ns/op 172.00 ns/op 2.55
Set add up to 64 items then delete first 1.7874 us/op 2.2436 us/op 0.80
OrderedSet add up to 64 items then delete first 2.8985 us/op 3.4037 us/op 0.85
Set add up to 64 items then delete last 2.0456 us/op 2.5686 us/op 0.80
OrderedSet add up to 64 items then delete last 3.3109 us/op 4.0455 us/op 0.82
Set add up to 64 items then delete middle 2.0206 us/op 2.6041 us/op 0.78
OrderedSet add up to 64 items then delete middle 4.7499 us/op 5.5001 us/op 0.86
Set add up to 128 items then delete first 4.0491 us/op 5.2212 us/op 0.78
OrderedSet add up to 128 items then delete first 6.4260 us/op 7.4580 us/op 0.86
Set add up to 128 items then delete last 4.2184 us/op 5.4177 us/op 0.78
OrderedSet add up to 128 items then delete last 6.2320 us/op 7.9275 us/op 0.79
Set add up to 128 items then delete middle 4.0042 us/op 4.9760 us/op 0.80
OrderedSet add up to 128 items then delete middle 12.069 us/op 13.781 us/op 0.88
Set add up to 256 items then delete first 7.8955 us/op 10.782 us/op 0.73
OrderedSet add up to 256 items then delete first 12.020 us/op 15.661 us/op 0.77
Set add up to 256 items then delete last 7.9031 us/op 10.499 us/op 0.75
OrderedSet add up to 256 items then delete last 12.533 us/op 15.875 us/op 0.79
Set add up to 256 items then delete middle 7.8295 us/op 10.205 us/op 0.77
OrderedSet add up to 256 items then delete middle 35.216 us/op 40.557 us/op 0.87
transfer serialized Status (84 B) 1.6230 us/op 1.3640 us/op 1.19
copy serialized Status (84 B) 1.4160 us/op 1.2390 us/op 1.14
transfer serialized SignedVoluntaryExit (112 B) 1.7000 us/op 1.6320 us/op 1.04
copy serialized SignedVoluntaryExit (112 B) 1.4740 us/op 1.3280 us/op 1.11
transfer serialized ProposerSlashing (416 B) 2.7600 us/op 1.8810 us/op 1.47
copy serialized ProposerSlashing (416 B) 2.3260 us/op 1.9410 us/op 1.20
transfer serialized Attestation (485 B) 2.0640 us/op 1.8700 us/op 1.10
copy serialized Attestation (485 B) 2.3360 us/op 1.8110 us/op 1.29
transfer serialized AttesterSlashing (33232 B) 2.1490 us/op 2.2660 us/op 0.95
copy serialized AttesterSlashing (33232 B) 8.5530 us/op 5.4710 us/op 1.56
transfer serialized Small SignedBeaconBlock (128000 B) 2.7040 us/op 3.2060 us/op 0.84
copy serialized Small SignedBeaconBlock (128000 B) 19.355 us/op 19.032 us/op 1.02
transfer serialized Avg SignedBeaconBlock (200000 B) 2.6750 us/op 4.5530 us/op 0.59
copy serialized Avg SignedBeaconBlock (200000 B) 24.166 us/op 27.905 us/op 0.87
transfer serialized BlobsSidecar (524380 B) 2.7410 us/op 3.1540 us/op 0.87
copy serialized BlobsSidecar (524380 B) 91.870 us/op 82.555 us/op 1.11
transfer serialized Big SignedBeaconBlock (1000000 B) 4.9170 us/op 2.6440 us/op 1.86
copy serialized Big SignedBeaconBlock (1000000 B) 322.49 us/op 222.11 us/op 1.45
pass gossip attestations to forkchoice per slot 2.5275 ms/op 2.8148 ms/op 0.90
forkChoice updateHead vc 100000 bc 64 eq 0 357.77 us/op 444.89 us/op 0.80
forkChoice updateHead vc 600000 bc 64 eq 0 2.1893 ms/op 2.8132 ms/op 0.78
forkChoice updateHead vc 1000000 bc 64 eq 0 3.7826 ms/op 4.8467 ms/op 0.78
forkChoice updateHead vc 600000 bc 320 eq 0 2.2558 ms/op 2.8516 ms/op 0.79
forkChoice updateHead vc 600000 bc 1200 eq 0 2.4792 ms/op 2.8909 ms/op 0.86
forkChoice updateHead vc 600000 bc 7200 eq 0 2.8032 ms/op 3.3225 ms/op 0.84
forkChoice updateHead vc 600000 bc 64 eq 1000 9.3958 ms/op 10.344 ms/op 0.91
forkChoice updateHead vc 600000 bc 64 eq 10000 9.2163 ms/op 10.717 ms/op 0.86
forkChoice updateHead vc 600000 bc 64 eq 300000 14.643 ms/op 13.503 ms/op 1.08
computeDeltas 500000 validators 300 proto nodes 3.2369 ms/op 3.9685 ms/op 0.82
computeDeltas 500000 validators 1200 proto nodes 3.2728 ms/op 3.9902 ms/op 0.82
computeDeltas 500000 validators 7200 proto nodes 3.2347 ms/op 4.1140 ms/op 0.79
computeDeltas 750000 validators 300 proto nodes 4.7142 ms/op 5.9279 ms/op 0.80
computeDeltas 750000 validators 1200 proto nodes 4.6814 ms/op 5.9474 ms/op 0.79
computeDeltas 750000 validators 7200 proto nodes 4.7568 ms/op 5.9845 ms/op 0.79
computeDeltas 1400000 validators 300 proto nodes 8.8765 ms/op 11.322 ms/op 0.78
computeDeltas 1400000 validators 1200 proto nodes 9.0128 ms/op 11.371 ms/op 0.79
computeDeltas 1400000 validators 7200 proto nodes 9.2528 ms/op 11.196 ms/op 0.83
computeDeltas 2100000 validators 300 proto nodes 13.838 ms/op 17.038 ms/op 0.81
computeDeltas 2100000 validators 1200 proto nodes 14.330 ms/op 16.589 ms/op 0.86
computeDeltas 2100000 validators 7200 proto nodes 13.937 ms/op 16.361 ms/op 0.85
altair processAttestation - 250000 vs - 7PWei normalcase 1.4718 ms/op 1.9029 ms/op 0.77
altair processAttestation - 250000 vs - 7PWei worstcase 2.2012 ms/op 2.5582 ms/op 0.86
altair processAttestation - setStatus - 1/6 committees join 64.182 us/op 87.042 us/op 0.74
altair processAttestation - setStatus - 1/3 committees join 134.88 us/op 181.14 us/op 0.74
altair processAttestation - setStatus - 1/2 committees join 197.61 us/op 243.90 us/op 0.81
altair processAttestation - setStatus - 2/3 committees join 254.76 us/op 319.95 us/op 0.80
altair processAttestation - setStatus - 4/5 committees join 384.13 us/op 448.97 us/op 0.86
altair processAttestation - setStatus - 100% committees join 470.15 us/op 543.43 us/op 0.87
altair processBlock - 250000 vs - 7PWei normalcase 3.0051 ms/op 5.8064 ms/op 0.52
altair processBlock - 250000 vs - 7PWei normalcase hashState 28.242 ms/op 25.345 ms/op 1.11
altair processBlock - 250000 vs - 7PWei worstcase 39.432 ms/op 31.729 ms/op 1.24
altair processBlock - 250000 vs - 7PWei worstcase hashState 72.199 ms/op 61.498 ms/op 1.17
phase0 processBlock - 250000 vs - 7PWei normalcase 1.6262 ms/op 1.6901 ms/op 0.96
phase0 processBlock - 250000 vs - 7PWei worstcase 20.592 ms/op 19.515 ms/op 1.06
altair processEth1Data - 250000 vs - 7PWei normalcase 262.37 us/op 312.05 us/op 0.84
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 5.2550 us/op 5.2620 us/op 1.00
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 28.868 us/op 34.342 us/op 0.84
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 8.1550 us/op 8.6090 us/op 0.95
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 4.8600 us/op 5.5600 us/op 0.87
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 121.33 us/op 128.74 us/op 0.94
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 860.12 us/op 1.0314 ms/op 0.83
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.1256 ms/op 1.5189 ms/op 0.74
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.1569 ms/op 1.4575 ms/op 0.79
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.2691 ms/op 3.6539 ms/op 0.89
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.2652 ms/op 1.5573 ms/op 0.81
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 2.9447 ms/op 3.8880 ms/op 0.76
Tree 40 250000 create 180.02 ms/op 214.76 ms/op 0.84
Tree 40 250000 get(125000) 117.31 ns/op 148.03 ns/op 0.79
Tree 40 250000 set(125000) 546.20 ns/op 732.45 ns/op 0.75
Tree 40 250000 toArray() 9.8499 ms/op 20.196 ms/op 0.49
Tree 40 250000 iterate all - toArray() + loop 9.9230 ms/op 17.037 ms/op 0.58
Tree 40 250000 iterate all - get(i) 42.372 ms/op 50.518 ms/op 0.84
Array 250000 create 2.3673 ms/op 2.9219 ms/op 0.81
Array 250000 clone - spread 1.2979 ms/op 1.3226 ms/op 0.98
Array 250000 get(125000) 0.59800 ns/op 0.42200 ns/op 1.42
Array 250000 set(125000) 0.59700 ns/op 0.47100 ns/op 1.27
Array 250000 iterate all - loop 77.750 us/op 105.36 us/op 0.74
phase0 afterProcessEpoch - 250000 vs - 7PWei 41.499 ms/op 49.106 ms/op 0.85
Array.fill - length 1000000 2.5758 ms/op 3.2852 ms/op 0.78
Array push - length 1000000 9.4074 ms/op 16.757 ms/op 0.56
Array.get 0.26182 ns/op 0.27177 ns/op 0.96
Uint8Array.get 0.34734 ns/op 0.42495 ns/op 0.82
phase0 beforeProcessEpoch - 250000 vs - 7PWei 13.923 ms/op 15.898 ms/op 0.88
altair processEpoch - mainnet_e81889 245.57 ms/op 283.49 ms/op 0.87
mainnet_e81889 - altair beforeProcessEpoch 16.618 ms/op 18.433 ms/op 0.90
mainnet_e81889 - altair processJustificationAndFinalization 10.317 us/op 12.057 us/op 0.86
mainnet_e81889 - altair processInactivityUpdates 3.9882 ms/op 5.5356 ms/op 0.72
mainnet_e81889 - altair processRewardsAndPenalties 46.569 ms/op 34.793 ms/op 1.34
mainnet_e81889 - altair processRegistryUpdates 1.6340 us/op 1.8780 us/op 0.87
mainnet_e81889 - altair processSlashings 835.00 ns/op 417.00 ns/op 2.00
mainnet_e81889 - altair processEth1DataReset 408.00 ns/op 322.00 ns/op 1.27
mainnet_e81889 - altair processEffectiveBalanceUpdates 987.12 us/op 1.3700 ms/op 0.72
mainnet_e81889 - altair processSlashingsReset 2.5450 us/op 4.2280 us/op 0.60
mainnet_e81889 - altair processRandaoMixesReset 2.7570 us/op 4.2280 us/op 0.65
mainnet_e81889 - altair processHistoricalRootsUpdate 672.00 ns/op 517.00 ns/op 1.30
mainnet_e81889 - altair processParticipationFlagUpdates 1.7850 us/op 1.9420 us/op 0.92
mainnet_e81889 - altair processSyncCommitteeUpdates 771.00 ns/op 401.00 ns/op 1.92
mainnet_e81889 - altair afterProcessEpoch 42.884 ms/op 50.178 ms/op 0.85
capella processEpoch - mainnet_e217614 1.0850 s/op 1.0220 s/op 1.06
mainnet_e217614 - capella beforeProcessEpoch 85.006 ms/op 64.682 ms/op 1.31
mainnet_e217614 - capella processJustificationAndFinalization 19.034 us/op 15.222 us/op 1.25
mainnet_e217614 - capella processInactivityUpdates 16.408 ms/op 15.879 ms/op 1.03
mainnet_e217614 - capella processRewardsAndPenalties 234.40 ms/op 216.90 ms/op 1.08
mainnet_e217614 - capella processRegistryUpdates 15.471 us/op 11.935 us/op 1.30
mainnet_e217614 - capella processSlashings 925.00 ns/op 348.00 ns/op 2.66
mainnet_e217614 - capella processEth1DataReset 727.00 ns/op 308.00 ns/op 2.36
mainnet_e217614 - capella processEffectiveBalanceUpdates 17.989 ms/op 12.134 ms/op 1.48
mainnet_e217614 - capella processSlashingsReset 3.2540 us/op 2.9550 us/op 1.10
mainnet_e217614 - capella processRandaoMixesReset 6.8840 us/op 4.0780 us/op 1.69
mainnet_e217614 - capella processHistoricalRootsUpdate 801.00 ns/op 498.00 ns/op 1.61
mainnet_e217614 - capella processParticipationFlagUpdates 3.3650 us/op 1.8180 us/op 1.85
mainnet_e217614 - capella afterProcessEpoch 112.13 ms/op 120.14 ms/op 0.93
phase0 processEpoch - mainnet_e58758 380.08 ms/op 339.14 ms/op 1.12
mainnet_e58758 - phase0 beforeProcessEpoch 111.54 ms/op 72.867 ms/op 1.53
mainnet_e58758 - phase0 processJustificationAndFinalization 22.822 us/op 15.301 us/op 1.49
mainnet_e58758 - phase0 processRewardsAndPenalties 43.766 ms/op 29.402 ms/op 1.49
mainnet_e58758 - phase0 processRegistryUpdates 10.729 us/op 7.7050 us/op 1.39
mainnet_e58758 - phase0 processSlashings 935.00 ns/op 347.00 ns/op 2.69
mainnet_e58758 - phase0 processEth1DataReset 971.00 ns/op 366.00 ns/op 2.65
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.0336 ms/op 1.1944 ms/op 0.87
mainnet_e58758 - phase0 processSlashingsReset 4.8670 us/op 3.4230 us/op 1.42
mainnet_e58758 - phase0 processRandaoMixesReset 7.6160 us/op 3.7040 us/op 2.06
mainnet_e58758 - phase0 processHistoricalRootsUpdate 940.00 ns/op 297.00 ns/op 3.16
mainnet_e58758 - phase0 processParticipationRecordUpdates 7.4660 us/op 2.9940 us/op 2.49
mainnet_e58758 - phase0 afterProcessEpoch 44.549 ms/op 41.917 ms/op 1.06
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.7193 ms/op 1.3928 ms/op 1.23
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 3.0321 ms/op 2.3783 ms/op 1.27
altair processInactivityUpdates - 250000 normalcase 25.034 ms/op 14.981 ms/op 1.67
altair processInactivityUpdates - 250000 worstcase 25.211 ms/op 15.010 ms/op 1.68
phase0 processRegistryUpdates - 250000 normalcase 9.5910 us/op 5.8030 us/op 1.65
phase0 processRegistryUpdates - 250000 badcase_full_deposits 274.25 us/op 222.01 us/op 1.24
phase0 processRegistryUpdates - 250000 worstcase 0.5 127.16 ms/op 104.72 ms/op 1.21
altair processRewardsAndPenalties - 250000 normalcase 51.382 ms/op 30.106 ms/op 1.71
altair processRewardsAndPenalties - 250000 worstcase 51.819 ms/op 36.437 ms/op 1.42
phase0 getAttestationDeltas - 250000 normalcase 7.2188 ms/op 6.9900 ms/op 1.03
phase0 getAttestationDeltas - 250000 worstcase 8.8392 ms/op 6.9305 ms/op 1.28
phase0 processSlashings - 250000 worstcase 102.93 us/op 76.705 us/op 1.34
altair processSyncCommitteeUpdates - 250000 128.77 ms/op 117.36 ms/op 1.10
BeaconState.hashTreeRoot - No change 678.00 ns/op 258.00 ns/op 2.63
BeaconState.hashTreeRoot - 1 full validator 123.22 us/op 122.00 us/op 1.01
BeaconState.hashTreeRoot - 32 full validator 1.3321 ms/op 1.4034 ms/op 0.95
BeaconState.hashTreeRoot - 512 full validator 11.056 ms/op 9.0865 ms/op 1.22
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 128.50 us/op 123.58 us/op 1.04
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.6548 ms/op 1.5124 ms/op 1.76
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 30.733 ms/op 22.417 ms/op 1.37
BeaconState.hashTreeRoot - 1 balances 148.79 us/op 88.375 us/op 1.68
BeaconState.hashTreeRoot - 32 balances 817.64 us/op 837.26 us/op 0.98
BeaconState.hashTreeRoot - 512 balances 13.176 ms/op 7.6953 ms/op 1.71
BeaconState.hashTreeRoot - 250000 balances 234.18 ms/op 167.88 ms/op 1.39
aggregationBits - 2048 els - zipIndexesInBitList 38.804 us/op 46.494 us/op 0.83
byteArrayEquals 32 51.054 ns/op 54.998 ns/op 0.93
Buffer.compare 32 18.589 ns/op 16.872 ns/op 1.10
byteArrayEquals 1024 1.4527 us/op 1.5492 us/op 0.94
Buffer.compare 1024 25.787 ns/op 24.852 ns/op 1.04
byteArrayEquals 16384 22.630 us/op 24.642 us/op 0.92
Buffer.compare 16384 207.75 ns/op 200.25 ns/op 1.04
byteArrayEquals 123687377 168.08 ms/op 186.36 ms/op 0.90
Buffer.compare 123687377 7.6794 ms/op 6.0616 ms/op 1.27
byteArrayEquals 32 - diff last byte 48.256 ns/op 51.453 ns/op 0.94
Buffer.compare 32 - diff last byte 16.089 ns/op 17.051 ns/op 0.94
byteArrayEquals 1024 - diff last byte 1.3692 us/op 1.5802 us/op 0.87
Buffer.compare 1024 - diff last byte 24.138 ns/op 24.890 ns/op 0.97
byteArrayEquals 16384 - diff last byte 21.107 us/op 25.174 us/op 0.84
Buffer.compare 16384 - diff last byte 215.72 ns/op 201.68 ns/op 1.07
byteArrayEquals 123687377 - diff last byte 163.79 ms/op 187.06 ms/op 0.88
Buffer.compare 123687377 - diff last byte 7.5530 ms/op 6.4409 ms/op 1.17
byteArrayEquals 32 - random bytes 5.4890 ns/op 5.0780 ns/op 1.08
Buffer.compare 32 - random bytes 16.944 ns/op 16.796 ns/op 1.01
byteArrayEquals 1024 - random bytes 5.6270 ns/op 5.0420 ns/op 1.12
Buffer.compare 1024 - random bytes 16.839 ns/op 16.782 ns/op 1.00
byteArrayEquals 16384 - random bytes 5.3190 ns/op 5.0460 ns/op 1.05
Buffer.compare 16384 - random bytes 16.489 ns/op 16.930 ns/op 0.97
byteArrayEquals 123687377 - random bytes 8.6600 ns/op 6.3900 ns/op 1.36
Buffer.compare 123687377 - random bytes 21.020 ns/op 18.170 ns/op 1.16
regular array get 100000 times 35.886 us/op 33.013 us/op 1.09
wrappedArray get 100000 times 38.896 us/op 32.552 us/op 1.19
arrayWithProxy get 100000 times 12.874 ms/op 13.081 ms/op 0.98
ssz.Root.equals 49.184 ns/op 45.150 ns/op 1.09
byteArrayEquals 44.762 ns/op 44.493 ns/op 1.01
Buffer.compare 12.190 ns/op 10.150 ns/op 1.20
processSlot - 1 slots 12.329 us/op 13.188 us/op 0.93
processSlot - 32 slots 2.1455 ms/op 2.9112 ms/op 0.74
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 36.999 ms/op 36.615 ms/op 1.01
getCommitteeAssignments - req 1 vs - 250000 vc 1.7342 ms/op 2.0394 ms/op 0.85
getCommitteeAssignments - req 100 vs - 250000 vc 3.4490 ms/op 3.9935 ms/op 0.86
getCommitteeAssignments - req 1000 vs - 250000 vc 3.6986 ms/op 4.2468 ms/op 0.87
findModifiedValidators - 10000 modified validators 237.35 ms/op 240.57 ms/op 0.99
findModifiedValidators - 1000 modified validators 167.15 ms/op 165.93 ms/op 1.01
findModifiedValidators - 100 modified validators 140.11 ms/op 146.62 ms/op 0.96
findModifiedValidators - 10 modified validators 151.62 ms/op 141.86 ms/op 1.07
findModifiedValidators - 1 modified validators 138.53 ms/op 137.65 ms/op 1.01
findModifiedValidators - no difference 146.41 ms/op 145.45 ms/op 1.01
compare ViewDUs 2.9798 s/op 2.8751 s/op 1.04
compare each validator Uint8Array 1.9461 s/op 1.6409 s/op 1.19
compare ViewDU to Uint8Array 1.0335 s/op 937.43 ms/op 1.10
migrate state 1000000 validators, 24 modified, 0 new 718.19 ms/op 729.44 ms/op 0.98
migrate state 1000000 validators, 1700 modified, 1000 new 956.44 ms/op 967.07 ms/op 0.99
migrate state 1000000 validators, 3400 modified, 2000 new 1.1714 s/op 1.1626 s/op 1.01
migrate state 1500000 validators, 24 modified, 0 new 664.09 ms/op 713.82 ms/op 0.93
migrate state 1500000 validators, 1700 modified, 1000 new 883.83 ms/op 946.18 ms/op 0.93
migrate state 1500000 validators, 3400 modified, 2000 new 1.1952 s/op 1.1576 s/op 1.03
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 8.2000 ns/op 4.1800 ns/op 1.96
state getBlockRootAtSlot - 250000 vs - 7PWei 948.23 ns/op 693.33 ns/op 1.37
computeProposers - vc 250000 8.3669 ms/op 6.6118 ms/op 1.27
computeEpochShuffling - vc 250000 37.672 ms/op 40.555 ms/op 0.93
getNextSyncCommittee - vc 250000 102.67 ms/op 116.23 ms/op 0.88
computeSigningRoot for AttestationData 22.226 us/op 22.905 us/op 0.97
hash AttestationData serialized data then Buffer.toString(base64) 1.3664 us/op 1.5285 us/op 0.89
toHexString serialized data 1.1225 us/op 837.86 ns/op 1.34
Buffer.toString(base64) 179.01 ns/op 181.12 ns/op 0.99
nodejs block root to RootHex using toHex 133.75 ns/op 175.36 ns/op 0.76
nodejs block root to RootHex using toRootHex 88.291 ns/op 88.733 ns/op 1.00
browser block root to RootHex using the deprecated toHexString 210.36 ns/op 217.99 ns/op 0.96
browser block root to RootHex using toHex 169.55 ns/op 174.69 ns/op 0.97
browser block root to RootHex using toRootHex 153.59 ns/op 156.66 ns/op 0.98

by benchmarkbot/action

@philknows
Copy link
Member

I like yours @ensi321

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.

3 participants