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

Remove clean pre-build step #4611

Merged
merged 1 commit into from Oct 2, 2022
Merged

Remove clean pre-build step #4611

merged 1 commit into from Oct 2, 2022

Conversation

dapplion
Copy link
Contributor

Motivation

Current root yarn build command always cleans up existing lib artifacts. This prevents using incremental builds on the default command

Description

  • Make default build command not clean
  • Build may fail in some cases due to old build files lingering around. In that case run: yarn clean && yarn build
  • CI runs will produce the same result as they start with no pre-existing lib files

@dapplion dapplion requested a review from a team as a code owner September 29, 2022 15:40
@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 84c786f Previous: 631b6e7 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.8657 ms/op 2.5178 ms/op 1.14
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 93.254 us/op 88.488 us/op 1.05
BLS verify - blst-native 2.4224 ms/op 2.7559 ms/op 0.88
BLS verifyMultipleSignatures 3 - blst-native 4.6333 ms/op 5.8292 ms/op 0.79
BLS verifyMultipleSignatures 8 - blst-native 10.046 ms/op 12.634 ms/op 0.80
BLS verifyMultipleSignatures 32 - blst-native 36.087 ms/op 47.107 ms/op 0.77
BLS aggregatePubkeys 32 - blst-native 48.338 us/op 62.136 us/op 0.78
BLS aggregatePubkeys 128 - blst-native 201.34 us/op 242.02 us/op 0.83
getAttestationsForBlock 113.48 ms/op 120.39 ms/op 0.94
isKnown best case - 1 super set check 521.00 ns/op 527.00 ns/op 0.99
isKnown normal case - 2 super set checks 499.00 ns/op 510.00 ns/op 0.98
isKnown worse case - 16 super set checks 516.00 ns/op 510.00 ns/op 1.01
CheckpointStateCache - add get delete 11.089 us/op 11.402 us/op 0.97
validate gossip signedAggregateAndProof - struct 5.1857 ms/op 6.4156 ms/op 0.81
validate gossip attestation - struct 2.4758 ms/op 3.1043 ms/op 0.80
pickEth1Vote - no votes 2.5714 ms/op 2.6895 ms/op 0.96
pickEth1Vote - max votes 25.636 ms/op 24.399 ms/op 1.05
pickEth1Vote - Eth1Data hashTreeRoot value x2048 14.165 ms/op 14.723 ms/op 0.96
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 25.518 ms/op 25.169 ms/op 1.01
pickEth1Vote - Eth1Data fastSerialize value x2048 1.7781 ms/op 1.8511 ms/op 0.96
pickEth1Vote - Eth1Data fastSerialize tree x2048 17.380 ms/op 15.722 ms/op 1.11
bytes32 toHexString 1.3540 us/op 1.3600 us/op 1.00
bytes32 Buffer.toString(hex) 811.00 ns/op 818.00 ns/op 0.99
bytes32 Buffer.toString(hex) from Uint8Array 1.1240 us/op 1.1120 us/op 1.01
bytes32 Buffer.toString(hex) + 0x 821.00 ns/op 850.00 ns/op 0.97
Object access 1 prop 0.44200 ns/op 0.46100 ns/op 0.96
Map access 1 prop 0.36400 ns/op 0.34500 ns/op 1.06
Object get x1000 17.321 ns/op 16.726 ns/op 1.04
Map get x1000 1.1360 ns/op 0.97300 ns/op 1.17
Object set x1000 130.00 ns/op 121.00 ns/op 1.07
Map set x1000 88.994 ns/op 83.230 ns/op 1.07
Return object 10000 times 0.42600 ns/op 0.42220 ns/op 1.01
Throw Error 10000 times 7.9617 us/op 8.2622 us/op 0.96
enrSubnets - fastDeserialize 64 bits 3.1530 us/op 3.2130 us/op 0.98
enrSubnets - ssz BitVector 64 bits 849.00 ns/op 882.00 ns/op 0.96
enrSubnets - fastDeserialize 4 bits 469.00 ns/op 506.00 ns/op 0.93
enrSubnets - ssz BitVector 4 bits 852.00 ns/op 914.00 ns/op 0.93
prioritizePeers score -10:0 att 32-0.1 sync 2-0 116.73 us/op 117.03 us/op 1.00
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 170.50 us/op 156.81 us/op 1.09
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 317.84 us/op 280.63 us/op 1.13
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 555.36 us/op 618.52 us/op 0.90
prioritizePeers score 0:0 att 64-1 sync 4-1 566.98 us/op 660.53 us/op 0.86
RateTracker 1000000 limit, 1 obj count per request 221.55 ns/op 223.97 ns/op 0.99
RateTracker 1000000 limit, 2 obj count per request 171.87 ns/op 167.83 ns/op 1.02
RateTracker 1000000 limit, 4 obj count per request 150.83 ns/op 138.81 ns/op 1.09
RateTracker 1000000 limit, 8 obj count per request 139.24 ns/op 122.47 ns/op 1.14
RateTracker with prune 6.1840 us/op 5.9220 us/op 1.04
array of 16000 items push then shift 5.4882 us/op 5.5657 us/op 0.99
LinkedList of 16000 items push then shift 21.557 ns/op 20.520 ns/op 1.05
array of 16000 items push then pop 268.67 ns/op 265.92 ns/op 1.01
LinkedList of 16000 items push then pop 20.237 ns/op 19.384 ns/op 1.04
array of 24000 items push then shift 8.1785 us/op 7.9826 us/op 1.02
LinkedList of 24000 items push then shift 21.099 ns/op 20.745 ns/op 1.02
array of 24000 items push then pop 275.54 ns/op 240.24 ns/op 1.15
LinkedList of 24000 items push then pop 20.158 ns/op 19.001 ns/op 1.06
intersect bitArray bitLen 8 13.279 ns/op 13.105 ns/op 1.01
intersect array and set length 8 227.49 ns/op 213.39 ns/op 1.07
intersect bitArray bitLen 128 76.479 ns/op 71.633 ns/op 1.07
intersect array and set length 128 2.5894 us/op 2.5736 us/op 1.01
Buffer.concat 32 items 2.4530 ns/op 2.2980 ns/op 1.07
pass gossip attestations to forkchoice per slot 5.0743 ms/op 5.0237 ms/op 1.01
computeDeltas 6.1552 ms/op 5.8283 ms/op 1.06
computeProposerBoostScoreFromBalances 933.46 us/op 906.21 us/op 1.03
altair processAttestation - 250000 vs - 7PWei normalcase 5.7884 ms/op 5.4242 ms/op 1.07
altair processAttestation - 250000 vs - 7PWei worstcase 8.4607 ms/op 7.7645 ms/op 1.09
altair processAttestation - setStatus - 1/6 committees join 257.58 us/op 254.87 us/op 1.01
altair processAttestation - setStatus - 1/3 committees join 484.52 us/op 467.44 us/op 1.04
altair processAttestation - setStatus - 1/2 committees join 695.26 us/op 670.30 us/op 1.04
altair processAttestation - setStatus - 2/3 committees join 952.86 us/op 874.48 us/op 1.09
altair processAttestation - setStatus - 4/5 committees join 1.3615 ms/op 1.2395 ms/op 1.10
altair processAttestation - setStatus - 100% committees join 1.5691 ms/op 1.5947 ms/op 0.98
altair processBlock - 250000 vs - 7PWei normalcase 32.753 ms/op 30.270 ms/op 1.08
altair processBlock - 250000 vs - 7PWei normalcase hashState 44.658 ms/op 44.464 ms/op 1.00
altair processBlock - 250000 vs - 7PWei worstcase 99.667 ms/op 115.71 ms/op 0.86
altair processBlock - 250000 vs - 7PWei worstcase hashState 123.34 ms/op 129.83 ms/op 0.95
phase0 processBlock - 250000 vs - 7PWei normalcase 4.6224 ms/op 4.5454 ms/op 1.02
phase0 processBlock - 250000 vs - 7PWei worstcase 58.811 ms/op 64.822 ms/op 0.91
altair processEth1Data - 250000 vs - 7PWei normalcase 1.1393 ms/op 1.1481 ms/op 0.99
Tree 40 250000 create 1.0500 s/op 1.1148 s/op 0.94
Tree 40 250000 get(125000) 338.82 ns/op 339.30 ns/op 1.00
Tree 40 250000 set(125000) 3.3449 us/op 3.7037 us/op 0.90
Tree 40 250000 toArray() 36.312 ms/op 36.401 ms/op 1.00
Tree 40 250000 iterate all - toArray() + loop 36.719 ms/op 38.208 ms/op 0.96
Tree 40 250000 iterate all - get(i) 139.55 ms/op 139.07 ms/op 1.00
MutableVector 250000 create 21.455 ms/op 18.449 ms/op 1.16
MutableVector 250000 get(125000) 14.129 ns/op 14.793 ns/op 0.96
MutableVector 250000 set(125000) 855.28 ns/op 1.0093 us/op 0.85
MutableVector 250000 toArray() 7.9181 ms/op 9.1026 ms/op 0.87
MutableVector 250000 iterate all - toArray() + loop 7.9828 ms/op 7.6148 ms/op 1.05
MutableVector 250000 iterate all - get(i) 3.4481 ms/op 3.5671 ms/op 0.97
Array 250000 create 7.4938 ms/op 7.1128 ms/op 1.05
Array 250000 clone - spread 3.8422 ms/op 3.2954 ms/op 1.17
Array 250000 get(125000) 1.7130 ns/op 1.4700 ns/op 1.17
Array 250000 set(125000) 1.5840 ns/op 1.5060 ns/op 1.05
Array 250000 iterate all - loop 150.53 us/op 146.63 us/op 1.03
effectiveBalanceIncrements clone Uint8Array 300000 372.97 us/op 105.21 us/op 3.54
effectiveBalanceIncrements clone MutableVector 300000 862.00 ns/op 1.0370 us/op 0.83
effectiveBalanceIncrements rw all Uint8Array 300000 302.27 us/op 310.03 us/op 0.97
effectiveBalanceIncrements rw all MutableVector 300000 229.67 ms/op 245.94 ms/op 0.93
phase0 afterProcessEpoch - 250000 vs - 7PWei 217.80 ms/op 198.76 ms/op 1.10
phase0 beforeProcessEpoch - 250000 vs - 7PWei 85.785 ms/op 78.604 ms/op 1.09
altair processEpoch - mainnet_e81889 658.45 ms/op 677.31 ms/op 0.97
mainnet_e81889 - altair beforeProcessEpoch 114.83 ms/op 191.62 ms/op 0.60
mainnet_e81889 - altair processJustificationAndFinalization 68.896 us/op 66.006 us/op 1.04
mainnet_e81889 - altair processInactivityUpdates 11.949 ms/op 13.444 ms/op 0.89
mainnet_e81889 - altair processRewardsAndPenalties 179.74 ms/op 107.34 ms/op 1.67
mainnet_e81889 - altair processRegistryUpdates 17.087 us/op 16.249 us/op 1.05
mainnet_e81889 - altair processSlashings 3.3220 us/op 3.8470 us/op 0.86
mainnet_e81889 - altair processEth1DataReset 3.6020 us/op 4.1370 us/op 0.87
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.6075 ms/op 2.7409 ms/op 0.95
mainnet_e81889 - altair processSlashingsReset 26.076 us/op 20.596 us/op 1.27
mainnet_e81889 - altair processRandaoMixesReset 25.017 us/op 24.157 us/op 1.04
mainnet_e81889 - altair processHistoricalRootsUpdate 3.6250 us/op 4.3450 us/op 0.83
mainnet_e81889 - altair processParticipationFlagUpdates 14.770 us/op 13.834 us/op 1.07
mainnet_e81889 - altair processSyncCommitteeUpdates 4.0070 us/op 3.2440 us/op 1.24
mainnet_e81889 - altair afterProcessEpoch 216.38 ms/op 214.42 ms/op 1.01
phase0 processEpoch - mainnet_e58758 706.51 ms/op 655.95 ms/op 1.08
mainnet_e58758 - phase0 beforeProcessEpoch 249.76 ms/op 323.02 ms/op 0.77
mainnet_e58758 - phase0 processJustificationAndFinalization 61.056 us/op 56.508 us/op 1.08
mainnet_e58758 - phase0 processRewardsAndPenalties 89.662 ms/op 90.012 ms/op 1.00
mainnet_e58758 - phase0 processRegistryUpdates 35.006 us/op 32.621 us/op 1.07
mainnet_e58758 - phase0 processSlashings 3.2020 us/op 3.5380 us/op 0.91
mainnet_e58758 - phase0 processEth1DataReset 3.7030 us/op 3.8230 us/op 0.97
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.0811 ms/op 2.1674 ms/op 0.96
mainnet_e58758 - phase0 processSlashingsReset 16.855 us/op 16.933 us/op 1.00
mainnet_e58758 - phase0 processRandaoMixesReset 24.920 us/op 24.873 us/op 1.00
mainnet_e58758 - phase0 processHistoricalRootsUpdate 4.1620 us/op 4.0910 us/op 1.02
mainnet_e58758 - phase0 processParticipationRecordUpdates 23.669 us/op 23.440 us/op 1.01
mainnet_e58758 - phase0 afterProcessEpoch 178.31 ms/op 178.63 ms/op 1.00
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.5421 ms/op 2.5436 ms/op 1.00
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.9209 ms/op 2.8807 ms/op 1.01
altair processInactivityUpdates - 250000 normalcase 54.208 ms/op 58.913 ms/op 0.92
altair processInactivityUpdates - 250000 worstcase 61.361 ms/op 52.648 ms/op 1.17
phase0 processRegistryUpdates - 250000 normalcase 27.097 us/op 29.230 us/op 0.93
phase0 processRegistryUpdates - 250000 badcase_full_deposits 527.16 us/op 534.14 us/op 0.99
phase0 processRegistryUpdates - 250000 worstcase 0.5 260.48 ms/op 306.05 ms/op 0.85
altair processRewardsAndPenalties - 250000 normalcase 138.53 ms/op 150.68 ms/op 0.92
altair processRewardsAndPenalties - 250000 worstcase 161.33 ms/op 103.75 ms/op 1.56
phase0 getAttestationDeltas - 250000 normalcase 14.711 ms/op 14.988 ms/op 0.98
phase0 getAttestationDeltas - 250000 worstcase 14.923 ms/op 15.204 ms/op 0.98
phase0 processSlashings - 250000 worstcase 6.3907 ms/op 6.7230 ms/op 0.95
altair processSyncCommitteeUpdates - 250000 329.00 ms/op 356.24 ms/op 0.92
BeaconState.hashTreeRoot - No change 616.00 ns/op 755.00 ns/op 0.82
BeaconState.hashTreeRoot - 1 full validator 79.679 us/op 78.774 us/op 1.01
BeaconState.hashTreeRoot - 32 full validator 869.54 us/op 765.19 us/op 1.14
BeaconState.hashTreeRoot - 512 full validator 8.5508 ms/op 8.0122 ms/op 1.07
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 114.96 us/op 101.01 us/op 1.14
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.6079 ms/op 1.4244 ms/op 1.13
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 20.783 ms/op 18.623 ms/op 1.12
BeaconState.hashTreeRoot - 1 balances 81.333 us/op 73.398 us/op 1.11
BeaconState.hashTreeRoot - 32 balances 835.87 us/op 681.55 us/op 1.23
BeaconState.hashTreeRoot - 512 balances 7.0813 ms/op 6.1572 ms/op 1.15
BeaconState.hashTreeRoot - 250000 balances 109.15 ms/op 117.75 ms/op 0.93
aggregationBits - 2048 els - zipIndexesInBitList 41.048 us/op 40.901 us/op 1.00
regular array get 100000 times 60.586 us/op 60.941 us/op 0.99
wrappedArray get 100000 times 62.702 us/op 59.127 us/op 1.06
arrayWithProxy get 100000 times 37.294 ms/op 36.872 ms/op 1.01
ssz.Root.equals 662.00 ns/op 604.00 ns/op 1.10
byteArrayEquals 642.00 ns/op 603.00 ns/op 1.06
shuffle list - 16384 els 12.444 ms/op 12.578 ms/op 0.99
shuffle list - 250000 els 181.85 ms/op 178.11 ms/op 1.02
processSlot - 1 slots 18.568 us/op 18.611 us/op 1.00
processSlot - 32 slots 2.4569 ms/op 2.4800 ms/op 0.99
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 467.76 us/op 567.30 us/op 0.82
getCommitteeAssignments - req 1 vs - 250000 vc 5.5998 ms/op 5.5623 ms/op 1.01
getCommitteeAssignments - req 100 vs - 250000 vc 8.0391 ms/op 8.2358 ms/op 0.98
getCommitteeAssignments - req 1000 vs - 250000 vc 8.4897 ms/op 8.5726 ms/op 0.99
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 10.480 ns/op 11.440 ns/op 0.92
state getBlockRootAtSlot - 250000 vs - 7PWei 1.4434 us/op 1.4364 us/op 1.00
computeProposers - vc 250000 20.618 ms/op 21.070 ms/op 0.98
computeEpochShuffling - vc 250000 185.04 ms/op 186.96 ms/op 0.99
getNextSyncCommittee - vc 250000 338.24 ms/op 349.06 ms/op 0.97

by benchmarkbot/action

@g11tech g11tech merged commit 7ebe81e into unstable Oct 2, 2022
@g11tech g11tech deleted the dapplion/clean-build branch October 2, 2022 16:15
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