Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: added docker support for osx #6696

Open
wants to merge 2 commits into
base: unstable
Choose a base branch
from

Conversation

jeluard
Copy link
Member

@jeluard jeluard commented Apr 22, 2024

Motivation

Supports MacOS out of the box by not relying on network_mode: host. host.docker.internal is used instead, which works on all platform.

Tested on MacOS and ubuntu

@jeluard jeluard requested a review from a team as a code owner April 22, 2024 13:33
@jeluard jeluard marked this pull request as draft April 22, 2024 13:41
Copy link

codecov bot commented Apr 22, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 61.87%. Comparing base (e17b744) to head (da6ec66).

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #6696   +/-   ##
=========================================
  Coverage     61.87%   61.87%           
=========================================
  Files           562      562           
  Lines         59301    59301           
  Branches       1916     1916           
=========================================
  Hits          36695    36695           
  Misses        22563    22563           
  Partials         43       43           

Copy link
Contributor

github-actions bot commented Apr 22, 2024

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: ff76092 Previous: e17b744 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.0522 ms/op 855.25 us/op 1.23
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 140.76 us/op 106.43 us/op 1.32
BLS verify - blst-native 1.3543 ms/op 1.3484 ms/op 1.00
BLS verifyMultipleSignatures 3 - blst-native 2.5816 ms/op 2.6139 ms/op 0.99
BLS verifyMultipleSignatures 8 - blst-native 5.6161 ms/op 5.7928 ms/op 0.97
BLS verifyMultipleSignatures 32 - blst-native 20.650 ms/op 20.343 ms/op 1.02
BLS verifyMultipleSignatures 64 - blst-native 40.051 ms/op 39.172 ms/op 1.02
BLS verifyMultipleSignatures 128 - blst-native 78.827 ms/op 80.322 ms/op 0.98
BLS deserializing 10000 signatures 924.54 ms/op 900.51 ms/op 1.03
BLS deserializing 100000 signatures 8.7399 s/op 10.014 s/op 0.87
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.3058 ms/op 1.7124 ms/op 0.76
BLS verifyMultipleSignatures - same message - 8 - blst-native 1.4648 ms/op 1.6949 ms/op 0.86
BLS verifyMultipleSignatures - same message - 32 - blst-native 2.2624 ms/op 2.5395 ms/op 0.89
BLS verifyMultipleSignatures - same message - 64 - blst-native 3.3370 ms/op 3.6089 ms/op 0.92
BLS verifyMultipleSignatures - same message - 128 - blst-native 5.4680 ms/op 5.7740 ms/op 0.95
BLS aggregatePubkeys 32 - blst-native 28.530 us/op 31.517 us/op 0.91
BLS aggregatePubkeys 128 - blst-native 108.62 us/op 119.65 us/op 0.91
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 56.227 ms/op 81.408 ms/op 0.69
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 63.407 ms/op 81.211 ms/op 0.78
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 35.637 ms/op 61.476 ms/op 0.58
getSlashingsAndExits - default max 202.46 us/op 468.23 us/op 0.43
getSlashingsAndExits - 2k 416.65 us/op 814.31 us/op 0.51
proposeBlockBody type=full, size=empty 6.1768 ms/op 12.529 ms/op 0.49
isKnown best case - 1 super set check 504.00 ns/op 894.00 ns/op 0.56
isKnown normal case - 2 super set checks 485.00 ns/op 779.00 ns/op 0.62
isKnown worse case - 16 super set checks 427.00 ns/op 808.00 ns/op 0.53
InMemoryCheckpointStateCache - add get delete 7.1830 us/op 8.9090 us/op 0.81
validate api signedAggregateAndProof - struct 2.3802 ms/op 2.7024 ms/op 0.88
validate gossip signedAggregateAndProof - struct 2.3677 ms/op 2.8908 ms/op 0.82
validate gossip attestation - vc 640000 1.3493 ms/op 1.6133 ms/op 0.84
batch validate gossip attestation - vc 640000 - chunk 32 157.64 us/op 209.27 us/op 0.75
batch validate gossip attestation - vc 640000 - chunk 64 141.27 us/op 180.71 us/op 0.78
batch validate gossip attestation - vc 640000 - chunk 128 133.97 us/op 189.67 us/op 0.71
batch validate gossip attestation - vc 640000 - chunk 256 132.68 us/op 182.53 us/op 0.73
pickEth1Vote - no votes 1.3225 ms/op 1.5690 ms/op 0.84
pickEth1Vote - max votes 9.6046 ms/op 10.624 ms/op 0.90
pickEth1Vote - Eth1Data hashTreeRoot value x2048 20.405 ms/op 22.032 ms/op 0.93
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 26.606 ms/op 35.191 ms/op 0.76
pickEth1Vote - Eth1Data fastSerialize value x2048 585.65 us/op 708.20 us/op 0.83
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.5621 ms/op 8.9870 ms/op 0.62
bytes32 toHexString 502.00 ns/op 697.00 ns/op 0.72
bytes32 Buffer.toString(hex) 298.00 ns/op 352.00 ns/op 0.85
bytes32 Buffer.toString(hex) from Uint8Array 430.00 ns/op 613.00 ns/op 0.70
bytes32 Buffer.toString(hex) + 0x 291.00 ns/op 360.00 ns/op 0.81
Object access 1 prop 0.16400 ns/op 0.28000 ns/op 0.59
Map access 1 prop 0.15400 ns/op 0.17900 ns/op 0.86
Object get x1000 6.9080 ns/op 8.8090 ns/op 0.78
Map get x1000 0.75400 ns/op 0.96100 ns/op 0.78
Object set x1000 49.079 ns/op 88.218 ns/op 0.56
Map set x1000 38.324 ns/op 60.009 ns/op 0.64
Return object 10000 times 0.23740 ns/op 0.28480 ns/op 0.83
Throw Error 10000 times 3.8174 us/op 4.2365 us/op 0.90
fastMsgIdFn sha256 / 200 bytes 3.2450 us/op 3.6510 us/op 0.89
fastMsgIdFn h32 xxhash / 200 bytes 287.00 ns/op 401.00 ns/op 0.72
fastMsgIdFn h64 xxhash / 200 bytes 349.00 ns/op 465.00 ns/op 0.75
fastMsgIdFn sha256 / 1000 bytes 11.278 us/op 12.720 us/op 0.89
fastMsgIdFn h32 xxhash / 1000 bytes 401.00 ns/op 551.00 ns/op 0.73
fastMsgIdFn h64 xxhash / 1000 bytes 422.00 ns/op 523.00 ns/op 0.81
fastMsgIdFn sha256 / 10000 bytes 102.26 us/op 111.04 us/op 0.92
fastMsgIdFn h32 xxhash / 10000 bytes 1.8720 us/op 2.2090 us/op 0.85
fastMsgIdFn h64 xxhash / 10000 bytes 1.3000 us/op 1.5180 us/op 0.86
send data - 1000 256B messages 18.090 ms/op 23.062 ms/op 0.78
send data - 1000 512B messages 25.856 ms/op 31.915 ms/op 0.81
send data - 1000 1024B messages 37.349 ms/op 53.590 ms/op 0.70
send data - 1000 1200B messages 34.997 ms/op 52.842 ms/op 0.66
send data - 1000 2048B messages 46.886 ms/op 61.168 ms/op 0.77
send data - 1000 4096B messages 43.758 ms/op 59.790 ms/op 0.73
send data - 1000 16384B messages 116.34 ms/op 146.20 ms/op 0.80
send data - 1000 65536B messages 438.31 ms/op 543.92 ms/op 0.81
enrSubnets - fastDeserialize 64 bits 1.2380 us/op 2.0060 us/op 0.62
enrSubnets - ssz BitVector 64 bits 427.00 ns/op 618.00 ns/op 0.69
enrSubnets - fastDeserialize 4 bits 165.00 ns/op 280.00 ns/op 0.59
enrSubnets - ssz BitVector 4 bits 412.00 ns/op 614.00 ns/op 0.67
prioritizePeers score -10:0 att 32-0.1 sync 2-0 190.88 us/op 273.15 us/op 0.70
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 270.75 us/op 386.59 us/op 0.70
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 323.06 us/op 462.09 us/op 0.70
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 542.53 us/op 763.97 us/op 0.71
prioritizePeers score 0:0 att 64-1 sync 4-1 657.35 us/op 834.49 us/op 0.79
array of 16000 items push then shift 1.5471 us/op 1.8589 us/op 0.83
LinkedList of 16000 items push then shift 8.5870 ns/op 10.274 ns/op 0.84
array of 16000 items push then pop 78.167 ns/op 120.03 ns/op 0.65
LinkedList of 16000 items push then pop 8.4360 ns/op 11.034 ns/op 0.76
array of 24000 items push then shift 2.3024 us/op 2.8522 us/op 0.81
LinkedList of 24000 items push then shift 8.6060 ns/op 14.175 ns/op 0.61
array of 24000 items push then pop 89.788 ns/op 197.18 ns/op 0.46
LinkedList of 24000 items push then pop 8.3360 ns/op 10.377 ns/op 0.80
intersect bitArray bitLen 8 5.5660 ns/op 7.2430 ns/op 0.77
intersect array and set length 8 59.589 ns/op 83.296 ns/op 0.72
intersect bitArray bitLen 128 34.289 ns/op 41.199 ns/op 0.83
intersect array and set length 128 822.52 ns/op 1.2114 us/op 0.68
bitArray.getTrueBitIndexes() bitLen 128 1.4080 us/op 2.1550 us/op 0.65
bitArray.getTrueBitIndexes() bitLen 248 2.3440 us/op 3.3320 us/op 0.70
bitArray.getTrueBitIndexes() bitLen 512 4.5970 us/op 7.3050 us/op 0.63
Buffer.concat 32 items 996.00 ns/op 1.2480 us/op 0.80
Uint8Array.set 32 items 1.8280 us/op 2.5920 us/op 0.71
Set add up to 64 items then delete first 4.3292 us/op 5.4270 us/op 0.80
OrderedSet add up to 64 items then delete first 5.5370 us/op 7.2412 us/op 0.76
Set add up to 64 items then delete last 4.5586 us/op 6.4938 us/op 0.70
OrderedSet add up to 64 items then delete last 5.6751 us/op 8.2065 us/op 0.69
Set add up to 64 items then delete middle 4.5600 us/op 6.4009 us/op 0.71
OrderedSet add up to 64 items then delete middle 7.0293 us/op 9.3034 us/op 0.76
Set add up to 128 items then delete first 9.2500 us/op 12.624 us/op 0.73
OrderedSet add up to 128 items then delete first 12.337 us/op 17.074 us/op 0.72
Set add up to 128 items then delete last 9.1303 us/op 12.995 us/op 0.70
OrderedSet add up to 128 items then delete last 11.490 us/op 16.721 us/op 0.69
Set add up to 128 items then delete middle 9.0979 us/op 12.558 us/op 0.72
OrderedSet add up to 128 items then delete middle 16.831 us/op 23.576 us/op 0.71
Set add up to 256 items then delete first 18.567 us/op 23.444 us/op 0.79
OrderedSet add up to 256 items then delete first 25.050 us/op 33.140 us/op 0.76
Set add up to 256 items then delete last 18.367 us/op 23.619 us/op 0.78
OrderedSet add up to 256 items then delete last 23.348 us/op 30.958 us/op 0.75
Set add up to 256 items then delete middle 18.176 us/op 23.234 us/op 0.78
OrderedSet add up to 256 items then delete middle 44.274 us/op 58.412 us/op 0.76
transfer serialized Status (84 B) 1.7180 us/op 2.1910 us/op 0.78
copy serialized Status (84 B) 1.3240 us/op 1.6150 us/op 0.82
transfer serialized SignedVoluntaryExit (112 B) 1.8760 us/op 2.3750 us/op 0.79
copy serialized SignedVoluntaryExit (112 B) 1.4110 us/op 1.7930 us/op 0.79
transfer serialized ProposerSlashing (416 B) 2.3710 us/op 3.8470 us/op 0.62
copy serialized ProposerSlashing (416 B) 1.9980 us/op 3.5140 us/op 0.57
transfer serialized Attestation (485 B) 2.4320 us/op 3.8200 us/op 0.64
copy serialized Attestation (485 B) 2.0190 us/op 3.1730 us/op 0.64
transfer serialized AttesterSlashing (33232 B) 2.4650 us/op 4.4240 us/op 0.56
copy serialized AttesterSlashing (33232 B) 5.4600 us/op 10.756 us/op 0.51
transfer serialized Small SignedBeaconBlock (128000 B) 2.7150 us/op 3.9060 us/op 0.70
copy serialized Small SignedBeaconBlock (128000 B) 14.058 us/op 31.945 us/op 0.44
transfer serialized Avg SignedBeaconBlock (200000 B) 2.9480 us/op 4.0870 us/op 0.72
copy serialized Avg SignedBeaconBlock (200000 B) 20.431 us/op 49.299 us/op 0.41
transfer serialized BlobsSidecar (524380 B) 2.8270 us/op 4.3480 us/op 0.65
copy serialized BlobsSidecar (524380 B) 73.947 us/op 160.99 us/op 0.46
transfer serialized Big SignedBeaconBlock (1000000 B) 2.6610 us/op 5.0950 us/op 0.52
copy serialized Big SignedBeaconBlock (1000000 B) 144.07 us/op 323.27 us/op 0.45
pass gossip attestations to forkchoice per slot 4.3475 ms/op 5.8128 ms/op 0.75
forkChoice updateHead vc 100000 bc 64 eq 0 684.02 us/op 779.36 us/op 0.88
forkChoice updateHead vc 600000 bc 64 eq 0 4.1681 ms/op 7.8952 ms/op 0.53
forkChoice updateHead vc 1000000 bc 64 eq 0 6.9568 ms/op 9.7280 ms/op 0.72
forkChoice updateHead vc 600000 bc 320 eq 0 4.1504 ms/op 5.7688 ms/op 0.72
forkChoice updateHead vc 600000 bc 1200 eq 0 4.2958 ms/op 5.7401 ms/op 0.75
forkChoice updateHead vc 600000 bc 7200 eq 0 5.2616 ms/op 8.5614 ms/op 0.61
forkChoice updateHead vc 600000 bc 64 eq 1000 11.168 ms/op 13.530 ms/op 0.83
forkChoice updateHead vc 600000 bc 64 eq 10000 11.970 ms/op 14.266 ms/op 0.84
forkChoice updateHead vc 600000 bc 64 eq 300000 15.523 ms/op 29.017 ms/op 0.53
computeDeltas 500000 validators 300 proto nodes 6.6200 ms/op 7.4247 ms/op 0.89
computeDeltas 500000 validators 1200 proto nodes 6.6025 ms/op 7.1861 ms/op 0.92
computeDeltas 500000 validators 7200 proto nodes 6.5070 ms/op 7.1278 ms/op 0.91
computeDeltas 750000 validators 300 proto nodes 9.8062 ms/op 10.633 ms/op 0.92
computeDeltas 750000 validators 1200 proto nodes 9.7330 ms/op 10.642 ms/op 0.91
computeDeltas 750000 validators 7200 proto nodes 9.9962 ms/op 10.328 ms/op 0.97
computeDeltas 1400000 validators 300 proto nodes 19.735 ms/op 19.261 ms/op 1.02
computeDeltas 1400000 validators 1200 proto nodes 19.857 ms/op 20.699 ms/op 0.96
computeDeltas 1400000 validators 7200 proto nodes 18.983 ms/op 20.493 ms/op 0.93
computeDeltas 2100000 validators 300 proto nodes 27.560 ms/op 30.795 ms/op 0.89
computeDeltas 2100000 validators 1200 proto nodes 27.998 ms/op 29.328 ms/op 0.95
computeDeltas 2100000 validators 7200 proto nodes 28.845 ms/op 28.511 ms/op 1.01
altair processAttestation - 250000 vs - 7PWei normalcase 2.6904 ms/op 2.6055 ms/op 1.03
altair processAttestation - 250000 vs - 7PWei worstcase 3.8913 ms/op 3.6574 ms/op 1.06
altair processAttestation - setStatus - 1/6 committees join 192.97 us/op 187.77 us/op 1.03
altair processAttestation - setStatus - 1/3 committees join 377.81 us/op 368.78 us/op 1.02
altair processAttestation - setStatus - 1/2 committees join 511.75 us/op 490.45 us/op 1.04
altair processAttestation - setStatus - 2/3 committees join 627.06 us/op 608.83 us/op 1.03
altair processAttestation - setStatus - 4/5 committees join 817.26 us/op 818.21 us/op 1.00
altair processAttestation - setStatus - 100% committees join 982.96 us/op 965.99 us/op 1.02
altair processBlock - 250000 vs - 7PWei normalcase 8.7304 ms/op 8.6394 ms/op 1.01
altair processBlock - 250000 vs - 7PWei normalcase hashState 35.984 ms/op 35.797 ms/op 1.01
altair processBlock - 250000 vs - 7PWei worstcase 45.280 ms/op 44.707 ms/op 1.01
altair processBlock - 250000 vs - 7PWei worstcase hashState 92.238 ms/op 93.679 ms/op 0.98
phase0 processBlock - 250000 vs - 7PWei normalcase 2.6447 ms/op 2.7591 ms/op 0.96
phase0 processBlock - 250000 vs - 7PWei worstcase 31.658 ms/op 32.389 ms/op 0.98
altair processEth1Data - 250000 vs - 7PWei normalcase 501.89 us/op 550.33 us/op 0.91
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 14.016 us/op 15.599 us/op 0.90
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 58.883 us/op 39.123 us/op 1.51
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 17.035 us/op 23.153 us/op 0.74
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 11.148 us/op 18.555 us/op 0.60
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 199.56 us/op 213.68 us/op 0.93
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.3671 ms/op 1.6034 ms/op 0.85
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.8493 ms/op 2.1618 ms/op 0.86
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.7497 ms/op 1.9520 ms/op 0.90
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.4810 ms/op 3.9195 ms/op 0.89
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.9101 ms/op 2.8635 ms/op 1.02
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.0619 ms/op 6.1926 ms/op 0.82
Tree 40 250000 create 379.58 ms/op 389.35 ms/op 0.97
Tree 40 250000 get(125000) 207.26 ns/op 211.15 ns/op 0.98
Tree 40 250000 set(125000) 1.0317 us/op 1.1800 us/op 0.87
Tree 40 250000 toArray() 21.664 ms/op 24.426 ms/op 0.89
Tree 40 250000 iterate all - toArray() + loop 20.036 ms/op 25.026 ms/op 0.80
Tree 40 250000 iterate all - get(i) 70.165 ms/op 77.631 ms/op 0.90
MutableVector 250000 create 12.091 ms/op 14.182 ms/op 0.85
MutableVector 250000 get(125000) 6.5350 ns/op 6.7980 ns/op 0.96
MutableVector 250000 set(125000) 301.03 ns/op 475.31 ns/op 0.63
MutableVector 250000 toArray() 3.3480 ms/op 4.4734 ms/op 0.75
MutableVector 250000 iterate all - toArray() + loop 3.2788 ms/op 4.6494 ms/op 0.71
MutableVector 250000 iterate all - get(i) 1.5533 ms/op 1.6169 ms/op 0.96
Array 250000 create 3.4766 ms/op 3.8481 ms/op 0.90
Array 250000 clone - spread 1.4862 ms/op 1.5079 ms/op 0.99
Array 250000 get(125000) 1.2020 ns/op 1.2210 ns/op 0.98
Array 250000 set(125000) 4.7540 ns/op 5.3170 ns/op 0.89
Array 250000 iterate all - loop 168.08 us/op 176.61 us/op 0.95
effectiveBalanceIncrements clone Uint8Array 300000 37.082 us/op 55.791 us/op 0.66
effectiveBalanceIncrements clone MutableVector 300000 450.00 ns/op 454.00 ns/op 0.99
effectiveBalanceIncrements rw all Uint8Array 300000 199.14 us/op 207.11 us/op 0.96
effectiveBalanceIncrements rw all MutableVector 300000 97.033 ms/op 125.56 ms/op 0.77
phase0 afterProcessEpoch - 250000 vs - 7PWei 116.51 ms/op 115.87 ms/op 1.01
phase0 beforeProcessEpoch - 250000 vs - 7PWei 52.614 ms/op 57.535 ms/op 0.91
altair processEpoch - mainnet_e81889 527.26 ms/op 559.10 ms/op 0.94
mainnet_e81889 - altair beforeProcessEpoch 87.931 ms/op 101.47 ms/op 0.87
mainnet_e81889 - altair processJustificationAndFinalization 15.584 us/op 21.086 us/op 0.74
mainnet_e81889 - altair processInactivityUpdates 6.3514 ms/op 6.9312 ms/op 0.92
mainnet_e81889 - altair processRewardsAndPenalties 59.742 ms/op 73.334 ms/op 0.81
mainnet_e81889 - altair processRegistryUpdates 2.2910 us/op 2.5960 us/op 0.88
mainnet_e81889 - altair processSlashings 538.00 ns/op 665.00 ns/op 0.81
mainnet_e81889 - altair processEth1DataReset 695.00 ns/op 762.00 ns/op 0.91
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.3379 ms/op 1.3540 ms/op 0.99
mainnet_e81889 - altair processSlashingsReset 3.8640 us/op 2.9920 us/op 1.29
mainnet_e81889 - altair processRandaoMixesReset 8.5890 us/op 5.2390 us/op 1.64
mainnet_e81889 - altair processHistoricalRootsUpdate 2.4210 us/op 664.00 ns/op 3.65
mainnet_e81889 - altair processParticipationFlagUpdates 5.0430 us/op 1.6860 us/op 2.99
mainnet_e81889 - altair processSyncCommitteeUpdates 1.9970 us/op 728.00 ns/op 2.74
mainnet_e81889 - altair afterProcessEpoch 124.79 ms/op 123.89 ms/op 1.01
capella processEpoch - mainnet_e217614 2.7244 s/op 2.3116 s/op 1.18
mainnet_e217614 - capella beforeProcessEpoch 517.57 ms/op 458.13 ms/op 1.13
mainnet_e217614 - capella processJustificationAndFinalization 31.389 us/op 20.607 us/op 1.52
mainnet_e217614 - capella processInactivityUpdates 29.909 ms/op 21.793 ms/op 1.37
mainnet_e217614 - capella processRewardsAndPenalties 568.76 ms/op 525.70 ms/op 1.08
mainnet_e217614 - capella processRegistryUpdates 24.112 us/op 18.342 us/op 1.31
mainnet_e217614 - capella processSlashings 609.00 ns/op 604.00 ns/op 1.01
mainnet_e217614 - capella processEth1DataReset 629.00 ns/op 483.00 ns/op 1.30
mainnet_e217614 - capella processEffectiveBalanceUpdates 4.5500 ms/op 4.4386 ms/op 1.03
mainnet_e217614 - capella processSlashingsReset 4.4050 us/op 2.9120 us/op 1.51
mainnet_e217614 - capella processRandaoMixesReset 7.7940 us/op 4.9850 us/op 1.56
mainnet_e217614 - capella processHistoricalRootsUpdate 919.00 ns/op 659.00 ns/op 1.39
mainnet_e217614 - capella processParticipationFlagUpdates 1.6860 us/op 1.9610 us/op 0.86
mainnet_e217614 - capella afterProcessEpoch 321.04 ms/op 360.92 ms/op 0.89
phase0 processEpoch - mainnet_e58758 540.01 ms/op 517.94 ms/op 1.04
mainnet_e58758 - phase0 beforeProcessEpoch 161.98 ms/op 150.13 ms/op 1.08
mainnet_e58758 - phase0 processJustificationAndFinalization 18.223 us/op 17.602 us/op 1.04
mainnet_e58758 - phase0 processRewardsAndPenalties 63.307 ms/op 46.891 ms/op 1.35
mainnet_e58758 - phase0 processRegistryUpdates 13.316 us/op 9.8390 us/op 1.35
mainnet_e58758 - phase0 processSlashings 482.00 ns/op 477.00 ns/op 1.01
mainnet_e58758 - phase0 processEth1DataReset 481.00 ns/op 415.00 ns/op 1.16
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.1414 ms/op 1.1125 ms/op 1.03
mainnet_e58758 - phase0 processSlashingsReset 2.5070 us/op 2.8940 us/op 0.87
mainnet_e58758 - phase0 processRandaoMixesReset 4.7130 us/op 4.5640 us/op 1.03
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.0420 us/op 683.00 ns/op 1.53
mainnet_e58758 - phase0 processParticipationRecordUpdates 6.5530 us/op 3.6030 us/op 1.82
mainnet_e58758 - phase0 afterProcessEpoch 105.99 ms/op 103.74 ms/op 1.02
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.4143 ms/op 1.4227 ms/op 0.99
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4510 ms/op 1.4449 ms/op 1.00
altair processInactivityUpdates - 250000 normalcase 31.170 ms/op 27.736 ms/op 1.12
altair processInactivityUpdates - 250000 worstcase 30.767 ms/op 28.885 ms/op 1.07
phase0 processRegistryUpdates - 250000 normalcase 13.357 us/op 12.617 us/op 1.06
phase0 processRegistryUpdates - 250000 badcase_full_deposits 456.55 us/op 395.79 us/op 1.15
phase0 processRegistryUpdates - 250000 worstcase 0.5 132.08 ms/op 131.52 ms/op 1.00
altair processRewardsAndPenalties - 250000 normalcase 69.911 ms/op 64.212 ms/op 1.09
altair processRewardsAndPenalties - 250000 worstcase 66.783 ms/op 67.255 ms/op 0.99
phase0 getAttestationDeltas - 250000 normalcase 11.430 ms/op 9.4872 ms/op 1.20
phase0 getAttestationDeltas - 250000 worstcase 10.921 ms/op 9.8828 ms/op 1.11
phase0 processSlashings - 250000 worstcase 120.73 us/op 104.48 us/op 1.16
altair processSyncCommitteeUpdates - 250000 166.24 ms/op 155.84 ms/op 1.07
BeaconState.hashTreeRoot - No change 285.00 ns/op 542.00 ns/op 0.53
BeaconState.hashTreeRoot - 1 full validator 133.85 us/op 147.30 us/op 0.91
BeaconState.hashTreeRoot - 32 full validator 1.4352 ms/op 1.2612 ms/op 1.14
BeaconState.hashTreeRoot - 512 full validator 15.767 ms/op 15.982 ms/op 0.99
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 173.50 us/op 167.43 us/op 1.04
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.2099 ms/op 2.0652 ms/op 1.07
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 29.180 ms/op 29.134 ms/op 1.00
BeaconState.hashTreeRoot - 1 balances 132.70 us/op 128.87 us/op 1.03
BeaconState.hashTreeRoot - 32 balances 1.2301 ms/op 1.1284 ms/op 1.09
BeaconState.hashTreeRoot - 512 balances 15.532 ms/op 10.913 ms/op 1.42
BeaconState.hashTreeRoot - 250000 balances 230.32 ms/op 241.20 ms/op 0.95
aggregationBits - 2048 els - zipIndexesInBitList 32.051 us/op 31.179 us/op 1.03
byteArrayEquals 32 75.776 ns/op 77.014 ns/op 0.98
Buffer.compare 32 57.730 ns/op 56.346 ns/op 1.02
byteArrayEquals 1024 2.0835 us/op 2.0672 us/op 1.01
Buffer.compare 1024 72.659 ns/op 72.587 ns/op 1.00
byteArrayEquals 16384 34.665 us/op 32.821 us/op 1.06
Buffer.compare 16384 271.51 ns/op 260.02 ns/op 1.04
byteArrayEquals 123687377 253.21 ms/op 254.59 ms/op 0.99
Buffer.compare 123687377 6.9929 ms/op 7.1557 ms/op 0.98
byteArrayEquals 32 - diff last byte 75.094 ns/op 74.259 ns/op 1.01
Buffer.compare 32 - diff last byte 58.504 ns/op 57.443 ns/op 1.02
byteArrayEquals 1024 - diff last byte 2.0905 us/op 2.1013 us/op 0.99
Buffer.compare 1024 - diff last byte 73.660 ns/op 73.962 ns/op 1.00
byteArrayEquals 16384 - diff last byte 36.831 us/op 33.431 us/op 1.10
Buffer.compare 16384 - diff last byte 267.50 ns/op 257.14 ns/op 1.04
byteArrayEquals 123687377 - diff last byte 258.83 ms/op 254.05 ms/op 1.02
Buffer.compare 123687377 - diff last byte 7.0812 ms/op 8.1471 ms/op 0.87
byteArrayEquals 32 - random bytes 5.5520 ns/op 6.4170 ns/op 0.87
Buffer.compare 32 - random bytes 63.805 ns/op 63.873 ns/op 1.00
byteArrayEquals 1024 - random bytes 5.7380 ns/op 6.5450 ns/op 0.88
Buffer.compare 1024 - random bytes 62.787 ns/op 62.561 ns/op 1.00
byteArrayEquals 16384 - random bytes 5.6940 ns/op 6.2350 ns/op 0.91
Buffer.compare 16384 - random bytes 63.155 ns/op 63.686 ns/op 0.99
byteArrayEquals 123687377 - random bytes 9.2900 ns/op 9.7400 ns/op 0.95
Buffer.compare 123687377 - random bytes 66.850 ns/op 75.630 ns/op 0.88
regular array get 100000 times 47.452 us/op 46.949 us/op 1.01
wrappedArray get 100000 times 46.532 us/op 46.409 us/op 1.00
arrayWithProxy get 100000 times 15.275 ms/op 14.623 ms/op 1.04
ssz.Root.equals 55.729 ns/op 56.745 ns/op 0.98
byteArrayEquals 55.659 ns/op 54.239 ns/op 1.03
Buffer.compare 12.256 ns/op 12.012 ns/op 1.02
shuffle list - 16384 els 9.2413 ms/op 8.8533 ms/op 1.04
shuffle list - 250000 els 128.28 ms/op 128.61 ms/op 1.00
processSlot - 1 slots 19.424 us/op 19.122 us/op 1.02
processSlot - 32 slots 4.0366 ms/op 4.5357 ms/op 0.89
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 59.372 ms/op 61.736 ms/op 0.96
getCommitteeAssignments - req 1 vs - 250000 vc 2.7022 ms/op 2.7837 ms/op 0.97
getCommitteeAssignments - req 100 vs - 250000 vc 3.8893 ms/op 3.9072 ms/op 1.00
getCommitteeAssignments - req 1000 vs - 250000 vc 4.2575 ms/op 4.2891 ms/op 0.99
findModifiedValidators - 10000 modified validators 353.44 ms/op 371.02 ms/op 0.95
findModifiedValidators - 1000 modified validators 224.14 ms/op 225.95 ms/op 0.99
findModifiedValidators - 100 modified validators 201.76 ms/op 193.11 ms/op 1.04
findModifiedValidators - 10 modified validators 164.18 ms/op 201.73 ms/op 0.81
findModifiedValidators - 1 modified validators 188.37 ms/op 211.55 ms/op 0.89
findModifiedValidators - no difference 212.69 ms/op 211.93 ms/op 1.00
compare ViewDUs 4.4023 s/op 4.6728 s/op 0.94
compare each validator Uint8Array 1.5349 s/op 1.4974 s/op 1.03
compare ViewDU to Uint8Array 1.3318 s/op 1.2848 s/op 1.04
migrate state 1000000 validators, 24 modified, 0 new 764.08 ms/op 820.39 ms/op 0.93
migrate state 1000000 validators, 1700 modified, 1000 new 1.3146 s/op 1.2547 s/op 1.05
migrate state 1000000 validators, 3400 modified, 2000 new 1.7461 s/op 1.6280 s/op 1.07
migrate state 1500000 validators, 24 modified, 0 new 989.92 ms/op 935.14 ms/op 1.06
migrate state 1500000 validators, 1700 modified, 1000 new 1.4864 s/op 1.3997 s/op 1.06
migrate state 1500000 validators, 3400 modified, 2000 new 1.6050 s/op 1.9323 s/op 0.83
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.9400 ns/op 5.4400 ns/op 0.91
state getBlockRootAtSlot - 250000 vs - 7PWei 997.87 ns/op 883.82 ns/op 1.13
computeProposers - vc 250000 10.257 ms/op 11.508 ms/op 0.89
computeEpochShuffling - vc 250000 135.29 ms/op 133.67 ms/op 1.01
getNextSyncCommittee - vc 250000 166.26 ms/op 187.42 ms/op 0.89
computeSigningRoot for AttestationData 35.272 us/op 33.862 us/op 1.04
hash AttestationData serialized data then Buffer.toString(base64) 2.4254 us/op 2.4818 us/op 0.98
toHexString serialized data 1.1914 us/op 1.7889 us/op 0.67
Buffer.toString(base64) 255.15 ns/op 288.82 ns/op 0.88

by benchmarkbot/action

docker/docker-compose.local_dev.yml Outdated Show resolved Hide resolved
volumes:
- "prometheus:/prometheus"
extra_hosts:
- "host.docker.internal:host-gateway"
Copy link
Member

Choose a reason for hiding this comment

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

that should do, same approach we use in sim tests #5940

docker/docker-compose.local_dev.yml Outdated Show resolved Hide resolved
docker/docker-compose.local_dev.yml Show resolved Hide resolved
@jeluard jeluard marked this pull request as ready for review April 29, 2024 20:34
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.

None yet

2 participants