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

Duplicate actions in the CI pipeline #4552

Merged
merged 3 commits into from Sep 15, 2022

Conversation

nazarhussain
Copy link
Contributor

Motivation

We want to optimize the CI workflow to have quick developer feedback.

Description

We need to run flow on pushing changes to stable/unstable branches. As long as the tests are passing after merging the branch it's not important for us if these passes on local branch or not. If required to run tests for the some branches which don't have a PR, you can use the manual trigger.

Closes #4535

@nazarhussain nazarhussain requested a review from a team as a code owner September 15, 2022 12:57
@nazarhussain nazarhussain self-assigned this Sep 15, 2022
@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: cde241a Previous: 9254e72 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.5671 ms/op 2.5458 ms/op 1.01
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 97.174 us/op 82.536 us/op 1.18
BLS verify - blst-native 2.8584 ms/op 1.8604 ms/op 1.54
BLS verifyMultipleSignatures 3 - blst-native 5.9592 ms/op 3.8117 ms/op 1.56
BLS verifyMultipleSignatures 8 - blst-native 12.483 ms/op 8.2106 ms/op 1.52
BLS verifyMultipleSignatures 32 - blst-native 45.712 ms/op 29.775 ms/op 1.54
BLS aggregatePubkeys 32 - blst-native 62.613 us/op 39.911 us/op 1.57
BLS aggregatePubkeys 128 - blst-native 246.43 us/op 155.00 us/op 1.59
getAttestationsForBlock 206.92 ms/op 173.99 ms/op 1.19
isKnown best case - 1 super set check 533.00 ns/op 429.00 ns/op 1.24
isKnown normal case - 2 super set checks 520.00 ns/op 419.00 ns/op 1.24
isKnown worse case - 16 super set checks 507.00 ns/op 426.00 ns/op 1.19
CheckpointStateCache - add get delete 11.795 us/op 9.1260 us/op 1.29
validate gossip signedAggregateAndProof - struct 6.4382 ms/op 4.2724 ms/op 1.51
validate gossip attestation - struct 3.0486 ms/op 2.0362 ms/op 1.50
pickEth1Vote - no votes 2.6015 ms/op 2.1987 ms/op 1.18
pickEth1Vote - max votes 21.857 ms/op 20.315 ms/op 1.08
pickEth1Vote - Eth1Data hashTreeRoot value x2048 14.859 ms/op 11.363 ms/op 1.31
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 28.274 ms/op 21.535 ms/op 1.31
pickEth1Vote - Eth1Data fastSerialize value x2048 2.1080 ms/op 1.6397 ms/op 1.29
pickEth1Vote - Eth1Data fastSerialize tree x2048 14.565 ms/op 13.575 ms/op 1.07
bytes32 toHexString 1.2930 us/op 1.1390 us/op 1.14
bytes32 Buffer.toString(hex) 832.00 ns/op 760.00 ns/op 1.09
bytes32 Buffer.toString(hex) from Uint8Array 1.1560 us/op 1.0380 us/op 1.11
bytes32 Buffer.toString(hex) + 0x 881.00 ns/op 754.00 ns/op 1.17
Object access 1 prop 0.44200 ns/op 0.39200 ns/op 1.13
Map access 1 prop 0.36200 ns/op 0.29800 ns/op 1.21
Object get x1000 17.153 ns/op 17.664 ns/op 0.97
Map get x1000 0.99000 ns/op 1.0010 ns/op 0.99
Object set x1000 123.22 ns/op 128.54 ns/op 0.96
Map set x1000 89.270 ns/op 77.743 ns/op 1.15
Return object 10000 times 0.44410 ns/op 0.36810 ns/op 1.21
Throw Error 10000 times 8.5657 us/op 5.8580 us/op 1.46
enrSubnets - fastDeserialize 64 bits 3.3240 us/op 2.8460 us/op 1.17
enrSubnets - ssz BitVector 64 bits 933.00 ns/op 796.00 ns/op 1.17
enrSubnets - fastDeserialize 4 bits 466.00 ns/op 416.00 ns/op 1.12
enrSubnets - ssz BitVector 4 bits 864.00 ns/op 777.00 ns/op 1.11
prioritizePeers score -10:0 att 32-0.1 sync 2-0 128.68 us/op 97.377 us/op 1.32
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 165.44 us/op 139.47 us/op 1.19
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 292.44 us/op 242.33 us/op 1.21
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 644.61 us/op 403.57 us/op 1.60
prioritizePeers score 0:0 att 64-1 sync 4-1 701.43 us/op 465.49 us/op 1.51
RateTracker 1000000 limit, 1 obj count per request 229.02 ns/op 206.68 ns/op 1.11
RateTracker 1000000 limit, 2 obj count per request 167.94 ns/op 158.65 ns/op 1.06
RateTracker 1000000 limit, 4 obj count per request 140.53 ns/op 132.38 ns/op 1.06
RateTracker 1000000 limit, 8 obj count per request 131.95 ns/op 123.25 ns/op 1.07
RateTracker with prune 6.4540 us/op 4.5700 us/op 1.41
array of 16000 items push then shift 5.6312 us/op 3.1940 us/op 1.76
LinkedList of 16000 items push then shift 20.992 ns/op 19.249 ns/op 1.09
array of 16000 items push then pop 273.35 ns/op 262.07 ns/op 1.04
LinkedList of 16000 items push then pop 19.874 ns/op 17.390 ns/op 1.14
array of 24000 items push then shift 8.1189 us/op 4.5534 us/op 1.78
LinkedList of 24000 items push then shift 22.971 ns/op 23.517 ns/op 0.98
array of 24000 items push then pop 280.33 ns/op 207.43 ns/op 1.35
LinkedList of 24000 items push then pop 20.318 ns/op 19.734 ns/op 1.03
intersect bitArray bitLen 8 13.503 ns/op 11.743 ns/op 1.15
intersect array and set length 8 228.84 ns/op 183.15 ns/op 1.25
intersect bitArray bitLen 128 76.023 ns/op 61.986 ns/op 1.23
intersect array and set length 128 2.6250 us/op 2.3688 us/op 1.11
Buffer.concat 32 items 2.4240 ns/op 2.2810 ns/op 1.06
pass gossip attestations to forkchoice per slot 4.5820 ms/op 3.2672 ms/op 1.40
computeDeltas 4.3746 ms/op 4.2429 ms/op 1.03
computeProposerBoostScoreFromBalances 920.59 us/op 907.62 us/op 1.01
altair processAttestation - 250000 vs - 7PWei normalcase 5.3034 ms/op 3.9719 ms/op 1.34
altair processAttestation - 250000 vs - 7PWei worstcase 8.7585 ms/op 6.2200 ms/op 1.41
altair processAttestation - setStatus - 1/6 committees join 264.72 us/op 217.28 us/op 1.22
altair processAttestation - setStatus - 1/3 committees join 500.81 us/op 411.94 us/op 1.22
altair processAttestation - setStatus - 1/2 committees join 716.23 us/op 576.75 us/op 1.24
altair processAttestation - setStatus - 2/3 committees join 916.66 us/op 747.63 us/op 1.23
altair processAttestation - setStatus - 4/5 committees join 1.3045 ms/op 1.0201 ms/op 1.28
altair processAttestation - setStatus - 100% committees join 1.5051 ms/op 1.2054 ms/op 1.25
altair processBlock - 250000 vs - 7PWei normalcase 34.991 ms/op 30.403 ms/op 1.15
altair processBlock - 250000 vs - 7PWei normalcase hashState 45.427 ms/op 42.422 ms/op 1.07
altair processBlock - 250000 vs - 7PWei worstcase 123.50 ms/op 83.741 ms/op 1.47
altair processBlock - 250000 vs - 7PWei worstcase hashState 131.12 ms/op 102.08 ms/op 1.28
phase0 processBlock - 250000 vs - 7PWei normalcase 4.6924 ms/op 3.4081 ms/op 1.38
phase0 processBlock - 250000 vs - 7PWei worstcase 66.623 ms/op 46.488 ms/op 1.43
altair processEth1Data - 250000 vs - 7PWei normalcase 1.1491 ms/op 843.62 us/op 1.36
Tree 40 250000 create 1.0873 s/op 860.09 ms/op 1.26
Tree 40 250000 get(125000) 336.94 ns/op 293.09 ns/op 1.15
Tree 40 250000 set(125000) 3.4164 us/op 2.9371 us/op 1.16
Tree 40 250000 toArray() 36.075 ms/op 34.601 ms/op 1.04
Tree 40 250000 iterate all - toArray() + loop 36.900 ms/op 35.113 ms/op 1.05
Tree 40 250000 iterate all - get(i) 137.57 ms/op 115.68 ms/op 1.19
MutableVector 250000 create 21.665 ms/op 17.020 ms/op 1.27
MutableVector 250000 get(125000) 16.172 ns/op 14.755 ns/op 1.10
MutableVector 250000 set(125000) 1.0053 us/op 717.29 ns/op 1.40
MutableVector 250000 toArray() 8.4304 ms/op 7.7947 ms/op 1.08
MutableVector 250000 iterate all - toArray() + loop 8.0990 ms/op 7.9903 ms/op 1.01
MutableVector 250000 iterate all - get(i) 3.6283 ms/op 3.4484 ms/op 1.05
Array 250000 create 7.8205 ms/op 7.6857 ms/op 1.02
Array 250000 clone - spread 5.2210 ms/op 2.7264 ms/op 1.91
Array 250000 get(125000) 2.0870 ns/op 1.1430 ns/op 1.83
Array 250000 set(125000) 2.0670 ns/op 1.1360 ns/op 1.82
Array 250000 iterate all - loop 155.14 us/op 167.90 us/op 0.92
effectiveBalanceIncrements clone Uint8Array 300000 318.01 us/op 81.814 us/op 3.89
effectiveBalanceIncrements clone MutableVector 300000 848.00 ns/op 784.00 ns/op 1.08
effectiveBalanceIncrements rw all Uint8Array 300000 312.17 us/op 252.57 us/op 1.24
effectiveBalanceIncrements rw all MutableVector 300000 232.39 ms/op 186.44 ms/op 1.25
phase0 afterProcessEpoch - 250000 vs - 7PWei 228.78 ms/op 185.92 ms/op 1.23
phase0 beforeProcessEpoch - 250000 vs - 7PWei 84.426 ms/op 78.229 ms/op 1.08
altair processEpoch - mainnet_e81889 684.69 ms/op 528.52 ms/op 1.30
mainnet_e81889 - altair beforeProcessEpoch 165.10 ms/op 158.14 ms/op 1.04
mainnet_e81889 - altair processJustificationAndFinalization 64.660 us/op 24.804 us/op 2.61
mainnet_e81889 - altair processInactivityUpdates 12.089 ms/op 11.516 ms/op 1.05
mainnet_e81889 - altair processRewardsAndPenalties 108.22 ms/op 96.871 ms/op 1.12
mainnet_e81889 - altair processRegistryUpdates 15.600 us/op 4.9760 us/op 3.14
mainnet_e81889 - altair processSlashings 3.5160 us/op 836.00 ns/op 4.21
mainnet_e81889 - altair processEth1DataReset 4.7810 us/op 1000.0 ns/op 4.78
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.7405 ms/op 2.4289 ms/op 1.13
mainnet_e81889 - altair processSlashingsReset 27.867 us/op 6.7440 us/op 4.13
mainnet_e81889 - altair processRandaoMixesReset 22.991 us/op 7.4580 us/op 3.08
mainnet_e81889 - altair processHistoricalRootsUpdate 4.0270 us/op 1.2000 us/op 3.36
mainnet_e81889 - altair processParticipationFlagUpdates 16.379 us/op 3.5980 us/op 4.55
mainnet_e81889 - altair processSyncCommitteeUpdates 3.4320 us/op 856.00 ns/op 4.01
mainnet_e81889 - altair afterProcessEpoch 224.71 ms/op 198.28 ms/op 1.13
phase0 processEpoch - mainnet_e58758 657.15 ms/op 555.48 ms/op 1.18
mainnet_e58758 - phase0 beforeProcessEpoch 303.20 ms/op 254.66 ms/op 1.19
mainnet_e58758 - phase0 processJustificationAndFinalization 55.122 us/op 30.215 us/op 1.82
mainnet_e58758 - phase0 processRewardsAndPenalties 159.96 ms/op 143.82 ms/op 1.11
mainnet_e58758 - phase0 processRegistryUpdates 35.029 us/op 13.045 us/op 2.69
mainnet_e58758 - phase0 processSlashings 3.0840 us/op 1.0830 us/op 2.85
mainnet_e58758 - phase0 processEth1DataReset 3.5710 us/op 1.1620 us/op 3.07
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.7645 ms/op 2.3636 ms/op 1.17
mainnet_e58758 - phase0 processSlashingsReset 16.599 us/op 6.2080 us/op 2.67
mainnet_e58758 - phase0 processRandaoMixesReset 25.338 us/op 7.3080 us/op 3.47
mainnet_e58758 - phase0 processHistoricalRootsUpdate 4.0230 us/op 1.2160 us/op 3.31
mainnet_e58758 - phase0 processParticipationRecordUpdates 22.113 us/op 6.8370 us/op 3.23
mainnet_e58758 - phase0 afterProcessEpoch 186.06 ms/op 161.92 ms/op 1.15
phase0 processEffectiveBalanceUpdates - 250000 normalcase 2.6263 ms/op 2.5438 ms/op 1.03
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.9323 ms/op 3.4949 ms/op 0.84
altair processInactivityUpdates - 250000 normalcase 50.519 ms/op 41.374 ms/op 1.22
altair processInactivityUpdates - 250000 worstcase 62.804 ms/op 41.578 ms/op 1.51
phase0 processRegistryUpdates - 250000 normalcase 27.040 us/op 9.8570 us/op 2.74
phase0 processRegistryUpdates - 250000 badcase_full_deposits 546.06 us/op 488.31 us/op 1.12
phase0 processRegistryUpdates - 250000 worstcase 0.5 259.81 ms/op 215.30 ms/op 1.21
altair processRewardsAndPenalties - 250000 normalcase 131.50 ms/op 91.129 ms/op 1.44
altair processRewardsAndPenalties - 250000 worstcase 100.41 ms/op 138.59 ms/op 0.72
phase0 getAttestationDeltas - 250000 normalcase 15.892 ms/op 13.811 ms/op 1.15
phase0 getAttestationDeltas - 250000 worstcase 16.297 ms/op 13.961 ms/op 1.17
phase0 processSlashings - 250000 worstcase 6.8592 ms/op 5.5733 ms/op 1.23
altair processSyncCommitteeUpdates - 250000 345.64 ms/op 294.65 ms/op 1.17
BeaconState.hashTreeRoot - No change 650.00 ns/op 486.00 ns/op 1.34
BeaconState.hashTreeRoot - 1 full validator 85.742 us/op 64.904 us/op 1.32
BeaconState.hashTreeRoot - 32 full validator 837.36 us/op 639.03 us/op 1.31
BeaconState.hashTreeRoot - 512 full validator 8.1244 ms/op 6.6009 ms/op 1.23
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 138.88 us/op 79.838 us/op 1.74
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.6113 ms/op 1.2156 ms/op 1.33
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 20.653 ms/op 16.663 ms/op 1.24
BeaconState.hashTreeRoot - 1 balances 87.933 us/op 63.900 us/op 1.38
BeaconState.hashTreeRoot - 32 balances 814.58 us/op 678.82 us/op 1.20
BeaconState.hashTreeRoot - 512 balances 7.5367 ms/op 5.9510 ms/op 1.27
BeaconState.hashTreeRoot - 250000 balances 118.44 ms/op 98.095 ms/op 1.21
aggregationBits - 2048 els - zipIndexesInBitList 38.299 us/op 37.479 us/op 1.02
regular array get 100000 times 61.060 us/op 67.378 us/op 0.91
wrappedArray get 100000 times 57.954 us/op 67.499 us/op 0.86
arrayWithProxy get 100000 times 37.133 ms/op 28.785 ms/op 1.29
ssz.Root.equals 614.00 ns/op 526.00 ns/op 1.17
byteArrayEquals 613.00 ns/op 504.00 ns/op 1.22
shuffle list - 16384 els 12.798 ms/op 11.081 ms/op 1.15
shuffle list - 250000 els 189.00 ms/op 166.66 ms/op 1.13
processSlot - 1 slots 20.807 us/op 13.743 us/op 1.51
processSlot - 32 slots 2.5188 ms/op 1.8845 ms/op 1.34
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 1.4549 ms/op 412.13 us/op 3.53
getCommitteeAssignments - req 1 vs - 250000 vc 5.6954 ms/op 5.3479 ms/op 1.06
getCommitteeAssignments - req 100 vs - 250000 vc 8.1977 ms/op 7.3478 ms/op 1.12
getCommitteeAssignments - req 1000 vs - 250000 vc 9.1274 ms/op 7.8200 ms/op 1.17
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 11.830 ns/op 9.8200 ns/op 1.20
state getBlockRootAtSlot - 250000 vs - 7PWei 1.3880 us/op 1.1602 us/op 1.20
computeProposers - vc 250000 20.693 ms/op 17.132 ms/op 1.21
computeEpochShuffling - vc 250000 193.99 ms/op 170.34 ms/op 1.14
getNextSyncCommittee - vc 250000 343.99 ms/op 286.42 ms/op 1.20

by benchmarkbot/action

Copy link
Contributor

@dapplion dapplion left a comment

Choose a reason for hiding this comment

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

Agree with the rationale 👍

@nazarhussain nazarhussain merged commit 146f826 into unstable Sep 15, 2022
@nazarhussain nazarhussain deleted the nh/4352-duplicate-gh-actions branch September 15, 2022 13:21
@nazarhussain nazarhussain linked an issue Sep 20, 2022 that may be closed by this pull request
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.

Duplicate actions in the CI pipeline
2 participants