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

Closed
wants to merge 2 commits into 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.

                                                                  2048 
                                                                  :++           
                                                                 :-==---        
                                                           :-+=--:-:-+**=:      
                                                       :-=+*=++=-+**+++=+++=-:  
                                                  :-==++++*#=+#+++++*++++-=*#*- 
                                            :---=++=*##+**+%**+::           ::  
                                      ::--=+**++#*=*#++%@#*+-                   
                            ::MAXEB++==*#*+-+###*++*#%#*=:                      
                         :-+==++=*#%%*-*##*=+**#%@%*=-:                         
                        -=**=+%*=*+*#++#***#%#*##=:                             
                     :-++===+**=*@%*=*#*+%@@#+:                                 
                  :-+-*##++==###+*#+#%@@*=-:                                    
  32      :-:--=+-**+===+*%*=*%%++#**+-:                                        
     ::-===*=*+*++=+#%#=*@@%+=+=+%@%*:                                          
   :-*=+#*=**==++*+=**#+%%#+*%%*=*****-                                         
  -*=+==+=+%@*-#*+%@%%**%%#=**=#%#+%%@*                                         
 :==+-+*=*=***#+#%%##%*#@@#=@@+%%#*+**:                                         
 : -*=*+#+=%*#%*#%#+##***+**%***+###*                                           
   -*+#+**+*+=*+*%**#%%*==++++@%++===                                           
   :++*+#%**++==++*###*+**+--+**++---                                           
    ==+*+++++=: ::------::  +*+*=+-==                                           
    -=+++=+=-               -+*+ ==+-                                           
    -======:                -++- --+-                                           
   :=--=-=:                 :++: :==-                                           
   +==--=-                  :==   --=                                           
  :+==---                    ::   :--:                                          
   -====:                     -:   -==                                          
   :-:==                     :-    :=-                                          
    : --                     :-    -:                                          
    : --                     :-    :-                                          
    : --                     ::      -:                                         
    : -=:                    ::      --                                         
    - -=:                    :-      -=-                                        
    ::-=-                    --:      ==:                                       
   : : :=-:                  ::::     :--:                                      
    :::                       :                                                 
`;

@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

github-actions bot commented Nov 20, 2024

Performance Report

✔️ no performance regression detected

🚀🚀 Significant benchmark improvement detected

Benchmark suite Current: a459181 Previous: 64eb015 Ratio
forkChoice updateHead vc 100000 bc 64 eq 0 348.36 us/op 1.2806 ms/op 0.27
forkChoice updateHead vc 600000 bc 64 eq 300000 11.468 ms/op 37.084 ms/op 0.31
Full benchmark results
Benchmark suite Current: a459181 Previous: 64eb015 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.7115 ms/op 2.1753 ms/op 0.79
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 38.361 us/op 67.606 us/op 0.57
BLS verify - blst 892.28 us/op 916.60 us/op 0.97
BLS verifyMultipleSignatures 3 - blst 1.3146 ms/op 1.3247 ms/op 0.99
BLS verifyMultipleSignatures 8 - blst 2.0549 ms/op 1.9759 ms/op 1.04
BLS verifyMultipleSignatures 32 - blst 4.4922 ms/op 7.0878 ms/op 0.63
BLS verifyMultipleSignatures 64 - blst 8.3504 ms/op 10.320 ms/op 0.81
BLS verifyMultipleSignatures 128 - blst 15.987 ms/op 20.134 ms/op 0.79
BLS deserializing 10000 signatures 630.06 ms/op 769.00 ms/op 0.82
BLS deserializing 100000 signatures 6.2794 s/op 7.4681 s/op 0.84
BLS verifyMultipleSignatures - same message - 3 - blst 910.25 us/op 960.70 us/op 0.95
BLS verifyMultipleSignatures - same message - 8 - blst 1.0864 ms/op 1.0181 ms/op 1.07
BLS verifyMultipleSignatures - same message - 32 - blst 1.6636 ms/op 1.7953 ms/op 0.93
BLS verifyMultipleSignatures - same message - 64 - blst 2.5811 ms/op 2.6869 ms/op 0.96
BLS verifyMultipleSignatures - same message - 128 - blst 4.2025 ms/op 4.5014 ms/op 0.93
BLS aggregatePubkeys 32 - blst 18.040 us/op 20.827 us/op 0.87
BLS aggregatePubkeys 128 - blst 63.448 us/op 73.689 us/op 0.86
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 40.497 ms/op 62.278 ms/op 0.65
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 49.912 ms/op 58.530 ms/op 0.85
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 37.646 ms/op 44.326 ms/op 0.85
getSlashingsAndExits - default max 68.922 us/op 116.01 us/op 0.59
getSlashingsAndExits - 2k 248.78 us/op 359.07 us/op 0.69
proposeBlockBody type=full, size=empty 4.8518 ms/op 7.7504 ms/op 0.63
isKnown best case - 1 super set check 469.00 ns/op 526.00 ns/op 0.89
isKnown normal case - 2 super set checks 452.00 ns/op 569.00 ns/op 0.79
isKnown worse case - 16 super set checks 453.00 ns/op 530.00 ns/op 0.85
InMemoryCheckpointStateCache - add get delete 2.6160 us/op 3.5200 us/op 0.74
validate api signedAggregateAndProof - struct 1.5870 ms/op 1.6175 ms/op 0.98
validate gossip signedAggregateAndProof - struct 1.4205 ms/op 1.7813 ms/op 0.80
batch validate gossip attestation - vc 640000 - chunk 32 120.89 us/op 151.31 us/op 0.80
batch validate gossip attestation - vc 640000 - chunk 64 100.07 us/op 140.22 us/op 0.71
batch validate gossip attestation - vc 640000 - chunk 128 98.813 us/op 140.54 us/op 0.70
batch validate gossip attestation - vc 640000 - chunk 256 93.048 us/op 147.98 us/op 0.63
pickEth1Vote - no votes 840.69 us/op 1.5844 ms/op 0.53
pickEth1Vote - max votes 4.1764 ms/op 11.358 ms/op 0.37
pickEth1Vote - Eth1Data hashTreeRoot value x2048 9.7158 ms/op 21.088 ms/op 0.46
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 12.480 ms/op 33.431 ms/op 0.37
pickEth1Vote - Eth1Data fastSerialize value x2048 371.63 us/op 649.48 us/op 0.57
pickEth1Vote - Eth1Data fastSerialize tree x2048 2.5306 ms/op 4.4810 ms/op 0.56
bytes32 toHexString 588.00 ns/op 854.00 ns/op 0.69
bytes32 Buffer.toString(hex) 445.00 ns/op 315.00 ns/op 1.41
bytes32 Buffer.toString(hex) from Uint8Array 626.00 ns/op 524.00 ns/op 1.19
bytes32 Buffer.toString(hex) + 0x 451.00 ns/op 293.00 ns/op 1.54
Object access 1 prop 0.35800 ns/op 0.20700 ns/op 1.73
Map access 1 prop 0.32000 ns/op 0.16100 ns/op 1.99
Object get x1000 4.9140 ns/op 6.7870 ns/op 0.72
Map get x1000 5.4670 ns/op 7.1870 ns/op 0.76
Object set x1000 28.091 ns/op 63.311 ns/op 0.44
Map set x1000 19.406 ns/op 41.228 ns/op 0.47
Return object 10000 times 0.29540 ns/op 0.33950 ns/op 0.87
Throw Error 10000 times 2.7208 us/op 3.9370 us/op 0.69
toHex 110.93 ns/op 202.49 ns/op 0.55
Buffer.from 109.46 ns/op 192.31 ns/op 0.57
shared Buffer 66.270 ns/op 109.24 ns/op 0.61
fastMsgIdFn sha256 / 200 bytes 1.9290 us/op 2.6760 us/op 0.72
fastMsgIdFn h32 xxhash / 200 bytes 460.00 ns/op 343.00 ns/op 1.34
fastMsgIdFn h64 xxhash / 200 bytes 446.00 ns/op 308.00 ns/op 1.45
fastMsgIdFn sha256 / 1000 bytes 5.6620 us/op 8.5350 us/op 0.66
fastMsgIdFn h32 xxhash / 1000 bytes 588.00 ns/op 523.00 ns/op 1.12
fastMsgIdFn h64 xxhash / 1000 bytes 523.00 ns/op 404.00 ns/op 1.29
fastMsgIdFn sha256 / 10000 bytes 46.779 us/op 70.815 us/op 0.66
fastMsgIdFn h32 xxhash / 10000 bytes 1.9260 us/op 2.1020 us/op 0.92
fastMsgIdFn h64 xxhash / 10000 bytes 1.3120 us/op 1.3850 us/op 0.95
send data - 1000 256B messages 12.319 ms/op 17.917 ms/op 0.69
send data - 1000 512B messages 15.746 ms/op 24.837 ms/op 0.63
send data - 1000 1024B messages 21.620 ms/op 33.736 ms/op 0.64
send data - 1000 1200B messages 24.513 ms/op 37.078 ms/op 0.66
send data - 1000 2048B messages 30.254 ms/op 46.960 ms/op 0.64
send data - 1000 4096B messages 24.454 ms/op 51.288 ms/op 0.48
send data - 1000 16384B messages 61.723 ms/op 99.623 ms/op 0.62
send data - 1000 65536B messages 246.59 ms/op 290.72 ms/op 0.85
enrSubnets - fastDeserialize 64 bits 1.1950 us/op 1.7720 us/op 0.67
enrSubnets - ssz BitVector 64 bits 561.00 ns/op 572.00 ns/op 0.98
enrSubnets - fastDeserialize 4 bits 357.00 ns/op 254.00 ns/op 1.41
enrSubnets - ssz BitVector 4 bits 577.00 ns/op 527.00 ns/op 1.09
prioritizePeers score -10:0 att 32-0.1 sync 2-0 161.45 us/op 280.98 us/op 0.57
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 122.43 us/op 314.94 us/op 0.39
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 251.52 us/op 602.91 us/op 0.42
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 420.51 us/op 615.13 us/op 0.68
prioritizePeers score 0:0 att 64-1 sync 4-1 604.35 us/op 1.2699 ms/op 0.48
array of 16000 items push then shift 1.3182 us/op 1.9536 us/op 0.67
LinkedList of 16000 items push then shift 6.5030 ns/op 15.730 ns/op 0.41
array of 16000 items push then pop 91.517 ns/op 229.66 ns/op 0.40
LinkedList of 16000 items push then pop 6.2630 ns/op 12.659 ns/op 0.49
array of 24000 items push then shift 1.9169 us/op 3.0235 us/op 0.63
LinkedList of 24000 items push then shift 6.5200 ns/op 11.867 ns/op 0.55
array of 24000 items push then pop 114.56 ns/op 236.21 ns/op 0.48
LinkedList of 24000 items push then pop 6.3080 ns/op 9.1910 ns/op 0.69
intersect bitArray bitLen 8 5.4900 ns/op 7.4420 ns/op 0.74
intersect array and set length 8 40.883 ns/op 82.874 ns/op 0.49
intersect bitArray bitLen 128 26.775 ns/op 33.126 ns/op 0.81
intersect array and set length 128 594.67 ns/op 1.0180 us/op 0.58
bitArray.getTrueBitIndexes() bitLen 128 2.2780 us/op 2.7610 us/op 0.83
bitArray.getTrueBitIndexes() bitLen 248 2.6350 us/op 5.2900 us/op 0.50
bitArray.getTrueBitIndexes() bitLen 512 5.3930 us/op 10.653 us/op 0.51
Buffer.concat 32 items 1.0310 us/op 1.2840 us/op 0.80
Uint8Array.set 32 items 1.4030 us/op 2.1500 us/op 0.65
Buffer.copy 1.4970 us/op 2.5980 us/op 0.58
Uint8Array.set - with subarray 1.9320 us/op 3.7780 us/op 0.51
Uint8Array.set - without subarray 1.3780 us/op 1.9950 us/op 0.69
getUint32 - dataview 414.00 ns/op 389.00 ns/op 1.06
getUint32 - manual 351.00 ns/op 352.00 ns/op 1.00
Set add up to 64 items then delete first 1.8188 us/op 3.3592 us/op 0.54
OrderedSet add up to 64 items then delete first 2.8448 us/op 5.4020 us/op 0.53
Set add up to 64 items then delete last 2.0604 us/op 3.8164 us/op 0.54
OrderedSet add up to 64 items then delete last 3.1215 us/op 5.9708 us/op 0.52
Set add up to 64 items then delete middle 2.0772 us/op 3.9159 us/op 0.53
OrderedSet add up to 64 items then delete middle 4.5668 us/op 8.3545 us/op 0.55
Set add up to 128 items then delete first 4.0756 us/op 8.6570 us/op 0.47
OrderedSet add up to 128 items then delete first 6.4115 us/op 12.367 us/op 0.52
Set add up to 128 items then delete last 3.9264 us/op 8.2078 us/op 0.48
OrderedSet add up to 128 items then delete last 6.0267 us/op 12.338 us/op 0.49
Set add up to 128 items then delete middle 3.9656 us/op 7.4449 us/op 0.53
OrderedSet add up to 128 items then delete middle 12.010 us/op 19.338 us/op 0.62
Set add up to 256 items then delete first 8.1701 us/op 18.078 us/op 0.45
OrderedSet add up to 256 items then delete first 13.087 us/op 26.396 us/op 0.50
Set add up to 256 items then delete last 7.9057 us/op 17.380 us/op 0.45
OrderedSet add up to 256 items then delete last 12.160 us/op 25.308 us/op 0.48
Set add up to 256 items then delete middle 7.7836 us/op 15.623 us/op 0.50
OrderedSet add up to 256 items then delete middle 35.738 us/op 53.283 us/op 0.67
transfer serialized Status (84 B) 1.4130 us/op 1.7800 us/op 0.79
copy serialized Status (84 B) 1.4870 us/op 1.5220 us/op 0.98
transfer serialized SignedVoluntaryExit (112 B) 1.7780 us/op 1.7780 us/op 1.00
copy serialized SignedVoluntaryExit (112 B) 1.6170 us/op 1.4860 us/op 1.09
transfer serialized ProposerSlashing (416 B) 2.5710 us/op 2.1510 us/op 1.20
copy serialized ProposerSlashing (416 B) 2.7360 us/op 2.4080 us/op 1.14
transfer serialized Attestation (485 B) 2.6850 us/op 2.3790 us/op 1.13
copy serialized Attestation (485 B) 2.7340 us/op 2.4510 us/op 1.12
transfer serialized AttesterSlashing (33232 B) 2.0260 us/op 2.8990 us/op 0.70
copy serialized AttesterSlashing (33232 B) 4.8600 us/op 10.591 us/op 0.46
transfer serialized Small SignedBeaconBlock (128000 B) 2.9660 us/op 3.9120 us/op 0.76
copy serialized Small SignedBeaconBlock (128000 B) 10.550 us/op 33.139 us/op 0.32
transfer serialized Avg SignedBeaconBlock (200000 B) 3.1630 us/op 4.4310 us/op 0.71
copy serialized Avg SignedBeaconBlock (200000 B) 14.235 us/op 53.401 us/op 0.27
transfer serialized BlobsSidecar (524380 B) 3.5230 us/op 6.5750 us/op 0.54
copy serialized BlobsSidecar (524380 B) 79.193 us/op 165.04 us/op 0.48
transfer serialized Big SignedBeaconBlock (1000000 B) 4.2650 us/op 5.8650 us/op 0.73
copy serialized Big SignedBeaconBlock (1000000 B) 182.46 us/op 551.22 us/op 0.33
pass gossip attestations to forkchoice per slot 2.4294 ms/op 3.3650 ms/op 0.72
forkChoice updateHead vc 100000 bc 64 eq 0 348.36 us/op 1.2806 ms/op 0.27
forkChoice updateHead vc 600000 bc 64 eq 0 2.4044 ms/op 5.2573 ms/op 0.46
forkChoice updateHead vc 1000000 bc 64 eq 0 3.9529 ms/op 6.8726 ms/op 0.58
forkChoice updateHead vc 600000 bc 320 eq 0 2.3153 ms/op 4.0167 ms/op 0.58
forkChoice updateHead vc 600000 bc 1200 eq 0 2.4002 ms/op 4.4697 ms/op 0.54
forkChoice updateHead vc 600000 bc 7200 eq 0 3.1969 ms/op 5.0860 ms/op 0.63
forkChoice updateHead vc 600000 bc 64 eq 1000 9.2217 ms/op 12.335 ms/op 0.75
forkChoice updateHead vc 600000 bc 64 eq 10000 9.0254 ms/op 12.083 ms/op 0.75
forkChoice updateHead vc 600000 bc 64 eq 300000 11.468 ms/op 37.084 ms/op 0.31
computeDeltas 500000 validators 300 proto nodes 3.2964 ms/op 5.2711 ms/op 0.63
computeDeltas 500000 validators 1200 proto nodes 3.2768 ms/op 6.5298 ms/op 0.50
computeDeltas 500000 validators 7200 proto nodes 3.2647 ms/op 6.2988 ms/op 0.52
computeDeltas 750000 validators 300 proto nodes 5.0242 ms/op 8.4042 ms/op 0.60
computeDeltas 750000 validators 1200 proto nodes 4.8982 ms/op 8.5595 ms/op 0.57
computeDeltas 750000 validators 7200 proto nodes 4.8658 ms/op 9.1306 ms/op 0.53
computeDeltas 1400000 validators 300 proto nodes 9.1737 ms/op 15.576 ms/op 0.59
computeDeltas 1400000 validators 1200 proto nodes 9.0626 ms/op 12.601 ms/op 0.72
computeDeltas 1400000 validators 7200 proto nodes 9.4082 ms/op 12.897 ms/op 0.73
computeDeltas 2100000 validators 300 proto nodes 13.697 ms/op 18.782 ms/op 0.73
computeDeltas 2100000 validators 1200 proto nodes 14.150 ms/op 19.930 ms/op 0.71
computeDeltas 2100000 validators 7200 proto nodes 13.608 ms/op 19.735 ms/op 0.69
altair processAttestation - 250000 vs - 7PWei normalcase 1.8441 ms/op 2.6254 ms/op 0.70
altair processAttestation - 250000 vs - 7PWei worstcase 2.1867 ms/op 3.1422 ms/op 0.70
altair processAttestation - setStatus - 1/6 committees join 69.629 us/op 113.03 us/op 0.62
altair processAttestation - setStatus - 1/3 committees join 158.03 us/op 215.61 us/op 0.73
altair processAttestation - setStatus - 1/2 committees join 199.25 us/op 280.51 us/op 0.71
altair processAttestation - setStatus - 2/3 committees join 274.30 us/op 396.02 us/op 0.69
altair processAttestation - setStatus - 4/5 committees join 409.74 us/op 578.24 us/op 0.71
altair processAttestation - setStatus - 100% committees join 489.87 us/op 675.72 us/op 0.72
altair processBlock - 250000 vs - 7PWei normalcase 4.2825 ms/op 4.9905 ms/op 0.86
altair processBlock - 250000 vs - 7PWei normalcase hashState 26.298 ms/op 28.637 ms/op 0.92
altair processBlock - 250000 vs - 7PWei worstcase 35.128 ms/op 50.108 ms/op 0.70
altair processBlock - 250000 vs - 7PWei worstcase hashState 71.862 ms/op 87.661 ms/op 0.82
phase0 processBlock - 250000 vs - 7PWei normalcase 1.9140 ms/op 2.7546 ms/op 0.69
phase0 processBlock - 250000 vs - 7PWei worstcase 25.308 ms/op 26.771 ms/op 0.95
altair processEth1Data - 250000 vs - 7PWei normalcase 276.68 us/op 401.89 us/op 0.69
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 5.5850 us/op 7.1300 us/op 0.78
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 34.972 us/op 47.788 us/op 0.73
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 9.9630 us/op 12.593 us/op 0.79
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 5.9180 us/op 7.4700 us/op 0.79
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 96.418 us/op 144.32 us/op 0.67
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 949.59 us/op 1.2633 ms/op 0.75
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.2152 ms/op 1.6843 ms/op 0.72
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.2410 ms/op 1.6899 ms/op 0.73
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.0649 ms/op 4.8858 ms/op 0.63
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.1448 ms/op 1.7893 ms/op 0.64
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.3243 ms/op 5.8669 ms/op 0.57
Tree 40 250000 create 260.43 ms/op 467.44 ms/op 0.56
Tree 40 250000 get(125000) 121.94 ns/op 170.00 ns/op 0.72
Tree 40 250000 set(125000) 638.72 ns/op 838.71 ns/op 0.76
Tree 40 250000 toArray() 18.579 ms/op 22.991 ms/op 0.81
Tree 40 250000 iterate all - toArray() + loop 19.191 ms/op 22.693 ms/op 0.85
Tree 40 250000 iterate all - get(i) 49.821 ms/op 62.529 ms/op 0.80
Array 250000 create 3.5580 ms/op 4.1336 ms/op 0.86
Array 250000 clone - spread 1.4575 ms/op 1.7261 ms/op 0.84
Array 250000 get(125000) 0.58500 ns/op 0.50300 ns/op 1.16
Array 250000 set(125000) 0.58500 ns/op 0.51400 ns/op 1.14
Array 250000 iterate all - loop 74.800 us/op 102.71 us/op 0.73
phase0 afterProcessEpoch - 250000 vs - 7PWei 45.470 ms/op 59.003 ms/op 0.77
Array.fill - length 1000000 3.1796 ms/op 6.2827 ms/op 0.51
Array push - length 1000000 17.356 ms/op 40.846 ms/op 0.42
Array.get 0.25445 ns/op 0.32523 ns/op 0.78
Uint8Array.get 0.33615 ns/op 0.47666 ns/op 0.71
phase0 beforeProcessEpoch - 250000 vs - 7PWei 20.696 ms/op 25.226 ms/op 0.82
altair processEpoch - mainnet_e81889 250.49 ms/op 359.56 ms/op 0.70
mainnet_e81889 - altair beforeProcessEpoch 19.394 ms/op 23.130 ms/op 0.84
mainnet_e81889 - altair processJustificationAndFinalization 14.520 us/op 18.893 us/op 0.77
mainnet_e81889 - altair processInactivityUpdates 5.4994 ms/op 7.1031 ms/op 0.77
mainnet_e81889 - altair processRewardsAndPenalties 52.024 ms/op 41.343 ms/op 1.26
mainnet_e81889 - altair processRegistryUpdates 1.7070 us/op 1.9340 us/op 0.88
mainnet_e81889 - altair processSlashings 772.00 ns/op 498.00 ns/op 1.55
mainnet_e81889 - altair processEth1DataReset 936.00 ns/op 410.00 ns/op 2.28
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.0240 ms/op 1.9743 ms/op 0.52
mainnet_e81889 - altair processSlashingsReset 2.3520 us/op 2.9260 us/op 0.80
mainnet_e81889 - altair processRandaoMixesReset 4.3050 us/op 3.7430 us/op 1.15
mainnet_e81889 - altair processHistoricalRootsUpdate 840.00 ns/op 428.00 ns/op 1.96
mainnet_e81889 - altair processParticipationFlagUpdates 2.2880 us/op 2.5600 us/op 0.89
mainnet_e81889 - altair processSyncCommitteeUpdates 933.00 ns/op 502.00 ns/op 1.86
mainnet_e81889 - altair afterProcessEpoch 42.901 ms/op 53.537 ms/op 0.80
capella processEpoch - mainnet_e217614 1.0921 s/op 1.1084 s/op 0.99
mainnet_e217614 - capella beforeProcessEpoch 67.180 ms/op 77.539 ms/op 0.87
mainnet_e217614 - capella processJustificationAndFinalization 14.159 us/op 19.776 us/op 0.72
mainnet_e217614 - capella processInactivityUpdates 16.970 ms/op 18.927 ms/op 0.90
mainnet_e217614 - capella processRewardsAndPenalties 234.14 ms/op 230.04 ms/op 1.02
mainnet_e217614 - capella processRegistryUpdates 10.648 us/op 15.088 us/op 0.71
mainnet_e217614 - capella processSlashings 827.00 ns/op 562.00 ns/op 1.47
mainnet_e217614 - capella processEth1DataReset 714.00 ns/op 350.00 ns/op 2.04
mainnet_e217614 - capella processEffectiveBalanceUpdates 5.4192 ms/op 17.490 ms/op 0.31
mainnet_e217614 - capella processSlashingsReset 2.7010 us/op 6.6460 us/op 0.41
mainnet_e217614 - capella processRandaoMixesReset 5.7030 us/op 4.8140 us/op 1.18
mainnet_e217614 - capella processHistoricalRootsUpdate 727.00 ns/op 776.00 ns/op 0.94
mainnet_e217614 - capella processParticipationFlagUpdates 1.6970 us/op 2.0480 us/op 0.83
mainnet_e217614 - capella afterProcessEpoch 105.02 ms/op 129.97 ms/op 0.81
phase0 processEpoch - mainnet_e58758 293.91 ms/op 366.05 ms/op 0.80
mainnet_e58758 - phase0 beforeProcessEpoch 69.037 ms/op 81.181 ms/op 0.85
mainnet_e58758 - phase0 processJustificationAndFinalization 15.348 us/op 19.417 us/op 0.79
mainnet_e58758 - phase0 processRewardsAndPenalties 33.352 ms/op 28.654 ms/op 1.16
mainnet_e58758 - phase0 processRegistryUpdates 6.7090 us/op 9.2600 us/op 0.72
mainnet_e58758 - phase0 processSlashings 776.00 ns/op 545.00 ns/op 1.42
mainnet_e58758 - phase0 processEth1DataReset 697.00 ns/op 577.00 ns/op 1.21
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 851.56 us/op 1.3461 ms/op 0.63
mainnet_e58758 - phase0 processSlashingsReset 2.6610 us/op 3.7760 us/op 0.70
mainnet_e58758 - phase0 processRandaoMixesReset 2.7450 us/op 6.0740 us/op 0.45
mainnet_e58758 - phase0 processHistoricalRootsUpdate 961.00 ns/op 532.00 ns/op 1.81
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.0430 us/op 4.0280 us/op 0.76
mainnet_e58758 - phase0 afterProcessEpoch 37.033 ms/op 49.103 ms/op 0.75
phase0 processEffectiveBalanceUpdates - 250000 normalcase 993.84 us/op 1.7299 ms/op 0.57
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.8003 ms/op 5.0592 ms/op 0.36
altair processInactivityUpdates - 250000 normalcase 16.142 ms/op 21.355 ms/op 0.76
altair processInactivityUpdates - 250000 worstcase 15.731 ms/op 19.229 ms/op 0.82
phase0 processRegistryUpdates - 250000 normalcase 4.9060 us/op 13.129 us/op 0.37
phase0 processRegistryUpdates - 250000 badcase_full_deposits 306.68 us/op 361.28 us/op 0.85
phase0 processRegistryUpdates - 250000 worstcase 0.5 118.12 ms/op 134.98 ms/op 0.88
altair processRewardsAndPenalties - 250000 normalcase 45.826 ms/op 44.447 ms/op 1.03
altair processRewardsAndPenalties - 250000 worstcase 43.009 ms/op 53.638 ms/op 0.80
phase0 getAttestationDeltas - 250000 normalcase 5.4183 ms/op 12.817 ms/op 0.42
phase0 getAttestationDeltas - 250000 worstcase 5.4573 ms/op 9.7929 ms/op 0.56
phase0 processSlashings - 250000 worstcase 89.533 us/op 110.28 us/op 0.81
altair processSyncCommitteeUpdates - 250000 92.604 ms/op 160.32 ms/op 0.58
BeaconState.hashTreeRoot - No change 386.00 ns/op 314.00 ns/op 1.23
BeaconState.hashTreeRoot - 1 full validator 118.73 us/op 174.79 us/op 0.68
BeaconState.hashTreeRoot - 32 full validator 1.2039 ms/op 1.2350 ms/op 0.97
BeaconState.hashTreeRoot - 512 full validator 9.7086 ms/op 12.210 ms/op 0.80
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 122.10 us/op 168.25 us/op 0.73
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.9020 ms/op 2.2705 ms/op 0.84
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 19.957 ms/op 27.540 ms/op 0.72
BeaconState.hashTreeRoot - 1 balances 88.767 us/op 122.50 us/op 0.72
BeaconState.hashTreeRoot - 32 balances 1.0267 ms/op 1.1899 ms/op 0.86
BeaconState.hashTreeRoot - 512 balances 6.8230 ms/op 8.9544 ms/op 0.76
BeaconState.hashTreeRoot - 250000 balances 152.28 ms/op 207.52 ms/op 0.73
aggregationBits - 2048 els - zipIndexesInBitList 19.128 us/op 33.576 us/op 0.57
byteArrayEquals 32 48.248 ns/op 58.719 ns/op 0.82
Buffer.compare 32 15.812 ns/op 19.741 ns/op 0.80
byteArrayEquals 1024 1.2763 us/op 1.8375 us/op 0.69
Buffer.compare 1024 24.216 ns/op 30.693 ns/op 0.79
byteArrayEquals 16384 20.015 us/op 26.878 us/op 0.74
Buffer.compare 16384 191.30 ns/op 212.25 ns/op 0.90
byteArrayEquals 123687377 148.32 ms/op 227.40 ms/op 0.65
Buffer.compare 123687377 4.2478 ms/op 11.411 ms/op 0.37
byteArrayEquals 32 - diff last byte 47.982 ns/op 61.514 ns/op 0.78
Buffer.compare 32 - diff last byte 15.898 ns/op 20.127 ns/op 0.79
byteArrayEquals 1024 - diff last byte 1.2772 us/op 1.8097 us/op 0.71
Buffer.compare 1024 - diff last byte 23.661 ns/op 28.819 ns/op 0.82
byteArrayEquals 16384 - diff last byte 20.301 us/op 27.876 us/op 0.73
Buffer.compare 16384 - diff last byte 169.85 ns/op 210.91 ns/op 0.81
byteArrayEquals 123687377 - diff last byte 152.20 ms/op 204.41 ms/op 0.74
Buffer.compare 123687377 - diff last byte 3.9168 ms/op 9.3300 ms/op 0.42
byteArrayEquals 32 - random bytes 5.0760 ns/op 5.5320 ns/op 0.92
Buffer.compare 32 - random bytes 16.036 ns/op 18.932 ns/op 0.85
byteArrayEquals 1024 - random bytes 5.0510 ns/op 5.6410 ns/op 0.90
Buffer.compare 1024 - random bytes 16.377 ns/op 19.621 ns/op 0.83
byteArrayEquals 16384 - random bytes 5.0520 ns/op 5.6670 ns/op 0.89
Buffer.compare 16384 - random bytes 16.003 ns/op 19.679 ns/op 0.81
byteArrayEquals 123687377 - random bytes 7.9200 ns/op 6.8400 ns/op 1.16
Buffer.compare 123687377 - random bytes 18.960 ns/op 20.070 ns/op 0.94
regular array get 100000 times 31.343 us/op 38.328 us/op 0.82
wrappedArray get 100000 times 31.147 us/op 46.233 us/op 0.67
arrayWithProxy get 100000 times 10.166 ms/op 15.979 ms/op 0.64
ssz.Root.equals 44.549 ns/op 49.039 ns/op 0.91
byteArrayEquals 43.291 ns/op 49.342 ns/op 0.88
Buffer.compare 9.3700 ns/op 11.521 ns/op 0.81
processSlot - 1 slots 15.853 us/op 16.017 us/op 0.99
processSlot - 32 slots 2.8309 ms/op 3.3897 ms/op 0.84
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 36.451 ms/op 37.336 ms/op 0.98
getCommitteeAssignments - req 1 vs - 250000 vc 1.7367 ms/op 2.1806 ms/op 0.80
getCommitteeAssignments - req 100 vs - 250000 vc 3.4697 ms/op 4.2460 ms/op 0.82
getCommitteeAssignments - req 1000 vs - 250000 vc 3.6602 ms/op 4.5495 ms/op 0.80
findModifiedValidators - 10000 modified validators 246.75 ms/op 299.39 ms/op 0.82
findModifiedValidators - 1000 modified validators 152.31 ms/op 200.36 ms/op 0.76
findModifiedValidators - 100 modified validators 142.94 ms/op 241.35 ms/op 0.59
findModifiedValidators - 10 modified validators 154.10 ms/op 210.53 ms/op 0.73
findModifiedValidators - 1 modified validators 134.00 ms/op 178.62 ms/op 0.75
findModifiedValidators - no difference 158.99 ms/op 194.46 ms/op 0.82
compare ViewDUs 3.1575 s/op 3.5308 s/op 0.89
compare each validator Uint8Array 1.3122 s/op 1.4081 s/op 0.93
compare ViewDU to Uint8Array 758.67 ms/op 1.1004 s/op 0.69
migrate state 1000000 validators, 24 modified, 0 new 686.73 ms/op 710.93 ms/op 0.97
migrate state 1000000 validators, 1700 modified, 1000 new 920.72 ms/op 960.91 ms/op 0.96
migrate state 1000000 validators, 3400 modified, 2000 new 1.0894 s/op 1.2237 s/op 0.89
migrate state 1500000 validators, 24 modified, 0 new 667.18 ms/op 728.41 ms/op 0.92
migrate state 1500000 validators, 1700 modified, 1000 new 963.02 ms/op 936.50 ms/op 1.03
migrate state 1500000 validators, 3400 modified, 2000 new 1.1832 s/op 1.1647 s/op 1.02
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 6.0300 ns/op 4.8800 ns/op 1.24
state getBlockRootAtSlot - 250000 vs - 7PWei 967.05 ns/op 734.76 ns/op 1.32
computeProposers - vc 250000 6.6118 ms/op 8.2840 ms/op 0.80
computeEpochShuffling - vc 250000 35.112 ms/op 43.527 ms/op 0.81
getNextSyncCommittee - vc 250000 103.43 ms/op 141.99 ms/op 0.73
computeSigningRoot for AttestationData 21.821 us/op 23.428 us/op 0.93
hash AttestationData serialized data then Buffer.toString(base64) 1.1622 us/op 1.6673 us/op 0.70
toHexString serialized data 790.45 ns/op 1.0285 us/op 0.77
Buffer.toString(base64) 149.86 ns/op 196.12 ns/op 0.76
nodejs block root to RootHex using toHex 122.84 ns/op 189.84 ns/op 0.65
nodejs block root to RootHex using toRootHex 77.686 ns/op 96.987 ns/op 0.80
browser block root to RootHex using the deprecated toHexString 211.51 ns/op 259.37 ns/op 0.82
browser block root to RootHex using toHex 166.17 ns/op 186.13 ns/op 0.89
browser block root to RootHex using toRootHex 144.68 ns/op 177.21 ns/op 0.82

by benchmarkbot/action

@philknows
Copy link
Member

I like yours @ensi321

Copy link

codecov bot commented Dec 3, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 48.51%. Comparing base (25c2ee5) to head (581ee18).
Report is 29 commits behind head on unstable.

Additional details and impacted files
@@             Coverage Diff              @@
##           unstable    #7233      +/-   ##
============================================
- Coverage     49.08%   48.51%   -0.58%     
============================================
  Files           600      600              
  Lines         40241    40138     -103     
  Branches       2111     2058      -53     
============================================
- Hits          19753    19471     -282     
- Misses        20450    20629     +179     
  Partials         38       38              

@wemeetagain
Copy link
Member

can you print the banner in the description for posterity?

@ensi321
Copy link
Contributor Author

ensi321 commented Dec 6, 2024

Closing in favour of #7286

@ensi321 ensi321 closed this Dec 6, 2024
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.

4 participants