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

Avoid set-output in workflows #5002

Merged
merged 1 commit into from
Jan 13, 2023
Merged

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented Jan 13, 2023

Motivation

See https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

Description

Closes #4967

@github-actions
Copy link
Contributor

github-actions bot commented Jan 13, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 4f6d347 Previous: 8ab220a Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.0111 ms/op 1.0458 ms/op 0.97
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 59.823 us/op 60.377 us/op 0.99
BLS verify - blst-native 2.1746 ms/op 2.1776 ms/op 1.00
BLS verifyMultipleSignatures 3 - blst-native 4.4867 ms/op 4.5324 ms/op 0.99
BLS verifyMultipleSignatures 8 - blst-native 9.7032 ms/op 9.7012 ms/op 1.00
BLS verifyMultipleSignatures 32 - blst-native 35.334 ms/op 35.295 ms/op 1.00
BLS aggregatePubkeys 32 - blst-native 46.495 us/op 46.420 us/op 1.00
BLS aggregatePubkeys 128 - blst-native 182.42 us/op 182.56 us/op 1.00
getAttestationsForBlock 78.678 ms/op 76.843 ms/op 1.02
isKnown best case - 1 super set check 469.00 ns/op 492.00 ns/op 0.95
isKnown normal case - 2 super set checks 463.00 ns/op 486.00 ns/op 0.95
isKnown worse case - 16 super set checks 463.00 ns/op 485.00 ns/op 0.95
CheckpointStateCache - add get delete 8.2530 us/op 7.9250 us/op 1.04
validate gossip signedAggregateAndProof - struct 5.0251 ms/op 5.0138 ms/op 1.00
validate gossip attestation - struct 2.3588 ms/op 2.3584 ms/op 1.00
pickEth1Vote - no votes 2.1985 ms/op 2.4987 ms/op 0.88
pickEth1Vote - max votes 16.798 ms/op 16.211 ms/op 1.04
pickEth1Vote - Eth1Data hashTreeRoot value x2048 13.177 ms/op 12.869 ms/op 1.02
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 20.887 ms/op 20.097 ms/op 1.04
pickEth1Vote - Eth1Data fastSerialize value x2048 1.1204 ms/op 1.0823 ms/op 1.04
pickEth1Vote - Eth1Data fastSerialize tree x2048 10.507 ms/op 9.8620 ms/op 1.07
bytes32 toHexString 994.00 ns/op 886.00 ns/op 1.12
bytes32 Buffer.toString(hex) 679.00 ns/op 634.00 ns/op 1.07
bytes32 Buffer.toString(hex) from Uint8Array 1.0060 us/op 972.00 ns/op 1.03
bytes32 Buffer.toString(hex) + 0x 654.00 ns/op 648.00 ns/op 1.01
Object access 1 prop 0.28900 ns/op 0.27500 ns/op 1.05
Map access 1 prop 0.30500 ns/op 0.30400 ns/op 1.00
Object get x1000 12.392 ns/op 10.927 ns/op 1.13
Map get x1000 0.94000 ns/op 0.92000 ns/op 1.02
Object set x1000 70.890 ns/op 68.563 ns/op 1.03
Map set x1000 44.788 ns/op 42.431 ns/op 1.06
Return object 10000 times 0.43320 ns/op 0.43650 ns/op 0.99
Throw Error 10000 times 6.5810 us/op 6.6347 us/op 0.99
fastMsgIdFn sha256 / 200 bytes 5.0260 us/op 4.9280 us/op 1.02
fastMsgIdFn h32 xxhash / 200 bytes 544.00 ns/op 544.00 ns/op 1.00
fastMsgIdFn h64 xxhash / 200 bytes 744.00 ns/op 725.00 ns/op 1.03
fastMsgIdFn sha256 / 1000 bytes 15.850 us/op 15.589 us/op 1.02
fastMsgIdFn h32 xxhash / 1000 bytes 721.00 ns/op 713.00 ns/op 1.01
fastMsgIdFn h64 xxhash / 1000 bytes 841.00 ns/op 800.00 ns/op 1.05
fastMsgIdFn sha256 / 10000 bytes 136.40 us/op 137.00 us/op 1.00
fastMsgIdFn h32 xxhash / 10000 bytes 2.6170 us/op 2.6200 us/op 1.00
fastMsgIdFn h64 xxhash / 10000 bytes 1.8060 us/op 1.8100 us/op 1.00
enrSubnets - fastDeserialize 64 bits 2.5440 us/op 2.3730 us/op 1.07
enrSubnets - ssz BitVector 64 bits 948.00 ns/op 919.00 ns/op 1.03
enrSubnets - fastDeserialize 4 bits 297.00 ns/op 296.00 ns/op 1.00
enrSubnets - ssz BitVector 4 bits 942.00 ns/op 925.00 ns/op 1.02
prioritizePeers score -10:0 att 32-0.1 sync 2-0 142.92 us/op 149.44 us/op 0.96
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 176.32 us/op 171.94 us/op 1.03
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 245.36 us/op 254.36 us/op 0.96
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 425.47 us/op 421.65 us/op 1.01
prioritizePeers score 0:0 att 64-1 sync 4-1 484.52 us/op 477.74 us/op 1.01
array of 16000 items push then shift 51.625 us/op 51.610 us/op 1.00
LinkedList of 16000 items push then shift 12.279 ns/op 12.299 ns/op 1.00
array of 16000 items push then pop 187.94 ns/op 191.83 ns/op 0.98
LinkedList of 16000 items push then pop 12.024 ns/op 12.048 ns/op 1.00
array of 24000 items push then shift 77.465 us/op 77.378 us/op 1.00
LinkedList of 24000 items push then shift 12.881 ns/op 12.542 ns/op 1.03
array of 24000 items push then pop 193.50 ns/op 194.89 ns/op 0.99
LinkedList of 24000 items push then pop 11.927 ns/op 12.163 ns/op 0.98
intersect bitArray bitLen 8 21.733 ns/op 21.698 ns/op 1.00
intersect array and set length 8 122.94 ns/op 133.84 ns/op 0.92
intersect bitArray bitLen 128 70.770 ns/op 70.913 ns/op 1.00
intersect array and set length 128 1.6531 us/op 1.7501 us/op 0.94
Buffer.concat 32 items 5.2110 us/op 5.1070 us/op 1.02
Uint8Array.set 32 items 3.7980 us/op 3.7280 us/op 1.02
pass gossip attestations to forkchoice per slot 3.6890 ms/op 3.6812 ms/op 1.00
computeDeltas 4.2707 ms/op 4.3302 ms/op 0.99
computeProposerBoostScoreFromBalances 2.4999 ms/op 2.5953 ms/op 0.96
altair processAttestation - 250000 vs - 7PWei normalcase 3.3913 ms/op 3.3714 ms/op 1.01
altair processAttestation - 250000 vs - 7PWei worstcase 5.3326 ms/op 5.9134 ms/op 0.90
altair processAttestation - setStatus - 1/6 committees join 172.26 us/op 177.53 us/op 0.97
altair processAttestation - setStatus - 1/3 committees join 347.94 us/op 355.18 us/op 0.98
altair processAttestation - setStatus - 1/2 committees join 507.13 us/op 518.13 us/op 0.98
altair processAttestation - setStatus - 2/3 committees join 660.10 us/op 674.17 us/op 0.98
altair processAttestation - setStatus - 4/5 committees join 919.70 us/op 940.66 us/op 0.98
altair processAttestation - setStatus - 100% committees join 1.1046 ms/op 1.1296 ms/op 0.98
altair processBlock - 250000 vs - 7PWei normalcase 24.147 ms/op 23.881 ms/op 1.01
altair processBlock - 250000 vs - 7PWei normalcase hashState 34.647 ms/op 37.279 ms/op 0.93
altair processBlock - 250000 vs - 7PWei worstcase 77.168 ms/op 80.199 ms/op 0.96
altair processBlock - 250000 vs - 7PWei worstcase hashState 109.10 ms/op 100.49 ms/op 1.09
phase0 processBlock - 250000 vs - 7PWei normalcase 3.0657 ms/op 3.2148 ms/op 0.95
phase0 processBlock - 250000 vs - 7PWei worstcase 50.532 ms/op 50.413 ms/op 1.00
altair processEth1Data - 250000 vs - 7PWei normalcase 627.01 us/op 630.88 us/op 0.99
vc - 250000 eb 1 eth1 1 we 0 wn 0 - smpl 15 8.4170 us/op 7.7630 us/op 1.08
vc - 250000 eb 0.95 eth1 0.1 we 0.05 wn 0 - smpl 219 22.553 us/op 22.571 us/op 1.00
vc - 250000 eb 0.95 eth1 0.3 we 0.05 wn 0 - smpl 42 11.684 us/op 10.443 us/op 1.12
vc - 250000 eb 0.95 eth1 0.7 we 0.05 wn 0 - smpl 18 9.6710 us/op 7.6570 us/op 1.26
vc - 250000 eb 0.1 eth1 0.1 we 0 wn 0 - smpl 1020 92.090 us/op 89.697 us/op 1.03
vc - 250000 eb 0.03 eth1 0.03 we 0 wn 0 - smpl 11777 889.46 us/op 890.97 us/op 1.00
vc - 250000 eb 0.01 eth1 0.01 we 0 wn 0 - smpl 16384 1.1732 ms/op 1.1585 ms/op 1.01
vc - 250000 eb 0 eth1 0 we 0 wn 0 - smpl 16384 1.1269 ms/op 1.1111 ms/op 1.01
vc - 250000 eb 0 eth1 0 we 0 wn 0 nocache - smpl 16384 4.1090 ms/op 3.9996 ms/op 1.03
vc - 250000 eb 0 eth1 1 we 0 wn 0 - smpl 16384 2.6134 ms/op 2.3864 ms/op 1.10
vc - 250000 eb 0 eth1 1 we 0 wn 0 nocache - smpl 16384 6.9183 ms/op 6.9642 ms/op 0.99
Tree 40 250000 create 580.08 ms/op 551.78 ms/op 1.05
Tree 40 250000 get(125000) 257.55 ns/op 261.43 ns/op 0.99
Tree 40 250000 set(125000) 1.8756 us/op 1.7880 us/op 1.05
Tree 40 250000 toArray() 25.903 ms/op 26.731 ms/op 0.97
Tree 40 250000 iterate all - toArray() + loop 26.426 ms/op 26.873 ms/op 0.98
Tree 40 250000 iterate all - get(i) 101.74 ms/op 102.99 ms/op 0.99
MutableVector 250000 create 13.921 ms/op 12.355 ms/op 1.13
MutableVector 250000 get(125000) 10.585 ns/op 10.718 ns/op 0.99
MutableVector 250000 set(125000) 506.85 ns/op 477.27 ns/op 1.06
MutableVector 250000 toArray() 5.4976 ms/op 5.5643 ms/op 0.99
MutableVector 250000 iterate all - toArray() + loop 5.7648 ms/op 5.9820 ms/op 0.96
MutableVector 250000 iterate all - get(i) 3.1072 ms/op 2.9946 ms/op 1.04
Array 250000 create 5.4680 ms/op 5.7462 ms/op 0.95
Array 250000 clone - spread 2.5543 ms/op 2.4111 ms/op 1.06
Array 250000 get(125000) 1.2040 ns/op 1.1950 ns/op 1.01
Array 250000 set(125000) 1.1870 ns/op 1.2130 ns/op 0.98
Array 250000 iterate all - loop 150.90 us/op 151.00 us/op 1.00
effectiveBalanceIncrements clone Uint8Array 300000 42.795 us/op 44.359 us/op 0.96
effectiveBalanceIncrements clone MutableVector 300000 847.00 ns/op 793.00 ns/op 1.07
effectiveBalanceIncrements rw all Uint8Array 300000 243.85 us/op 243.86 us/op 1.00
effectiveBalanceIncrements rw all MutableVector 300000 153.84 ms/op 160.44 ms/op 0.96
phase0 afterProcessEpoch - 250000 vs - 7PWei 206.47 ms/op 186.14 ms/op 1.11
phase0 beforeProcessEpoch - 250000 vs - 7PWei 55.616 ms/op 71.996 ms/op 0.77
altair processEpoch - mainnet_e81889 535.66 ms/op 518.55 ms/op 1.03
mainnet_e81889 - altair beforeProcessEpoch 130.73 ms/op 122.21 ms/op 1.07
mainnet_e81889 - altair processJustificationAndFinalization 21.932 us/op 16.624 us/op 1.32
mainnet_e81889 - altair processInactivityUpdates 8.7448 ms/op 8.5552 ms/op 1.02
mainnet_e81889 - altair processRewardsAndPenalties 116.85 ms/op 119.41 ms/op 0.98
mainnet_e81889 - altair processRegistryUpdates 3.1730 us/op 2.2900 us/op 1.39
mainnet_e81889 - altair processSlashings 787.00 ns/op 473.00 ns/op 1.66
mainnet_e81889 - altair processEth1DataReset 799.00 ns/op 511.00 ns/op 1.56
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.3464 ms/op 2.2576 ms/op 1.04
mainnet_e81889 - altair processSlashingsReset 7.2570 us/op 4.4390 us/op 1.63
mainnet_e81889 - altair processRandaoMixesReset 6.3860 us/op 4.0780 us/op 1.57
mainnet_e81889 - altair processHistoricalRootsUpdate 821.00 ns/op 585.00 ns/op 1.40
mainnet_e81889 - altair processParticipationFlagUpdates 3.5160 us/op 1.8550 us/op 1.90
mainnet_e81889 - altair processSyncCommitteeUpdates 663.00 ns/op 406.00 ns/op 1.63
mainnet_e81889 - altair afterProcessEpoch 197.68 ms/op 193.63 ms/op 1.02
phase0 processEpoch - mainnet_e58758 478.50 ms/op 476.81 ms/op 1.00
mainnet_e58758 - phase0 beforeProcessEpoch 173.34 ms/op 175.33 ms/op 0.99
mainnet_e58758 - phase0 processJustificationAndFinalization 19.915 us/op 15.275 us/op 1.30
mainnet_e58758 - phase0 processRewardsAndPenalties 93.164 ms/op 97.487 ms/op 0.96
mainnet_e58758 - phase0 processRegistryUpdates 10.742 us/op 7.8630 us/op 1.37
mainnet_e58758 - phase0 processSlashings 661.00 ns/op 496.00 ns/op 1.33
mainnet_e58758 - phase0 processEth1DataReset 700.00 ns/op 479.00 ns/op 1.46
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.8118 ms/op 2.0139 ms/op 0.90
mainnet_e58758 - phase0 processSlashingsReset 4.1470 us/op 3.2250 us/op 1.29
mainnet_e58758 - phase0 processRandaoMixesReset 5.2060 us/op 4.2180 us/op 1.23
mainnet_e58758 - phase0 processHistoricalRootsUpdate 631.00 ns/op 503.00 ns/op 1.25
mainnet_e58758 - phase0 processParticipationRecordUpdates 6.1410 us/op 3.4490 us/op 1.78
mainnet_e58758 - phase0 afterProcessEpoch 163.38 ms/op 160.33 ms/op 1.02
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.9389 ms/op 1.9698 ms/op 0.98
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.2571 ms/op 2.2295 ms/op 1.01
altair processInactivityUpdates - 250000 normalcase 39.261 ms/op 38.432 ms/op 1.02
altair processInactivityUpdates - 250000 worstcase 31.968 ms/op 31.817 ms/op 1.00
phase0 processRegistryUpdates - 250000 normalcase 8.3390 us/op 6.2620 us/op 1.33
phase0 processRegistryUpdates - 250000 badcase_full_deposits 381.03 us/op 381.99 us/op 1.00
phase0 processRegistryUpdates - 250000 worstcase 0.5 186.64 ms/op 170.47 ms/op 1.09
altair processRewardsAndPenalties - 250000 normalcase 99.656 ms/op 74.233 ms/op 1.34
altair processRewardsAndPenalties - 250000 worstcase 73.536 ms/op 101.97 ms/op 0.72
phase0 getAttestationDeltas - 250000 normalcase 11.650 ms/op 10.890 ms/op 1.07
phase0 getAttestationDeltas - 250000 worstcase 12.123 ms/op 11.425 ms/op 1.06
phase0 processSlashings - 250000 worstcase 5.1642 ms/op 5.1548 ms/op 1.00
altair processSyncCommitteeUpdates - 250000 290.88 ms/op 285.51 ms/op 1.02
BeaconState.hashTreeRoot - No change 488.00 ns/op 463.00 ns/op 1.05
BeaconState.hashTreeRoot - 1 full validator 71.177 us/op 70.101 us/op 1.02
BeaconState.hashTreeRoot - 32 full validator 828.10 us/op 699.00 us/op 1.18
BeaconState.hashTreeRoot - 512 full validator 6.9066 ms/op 7.2957 ms/op 0.95
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 88.777 us/op 91.473 us/op 0.97
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.2449 ms/op 1.2645 ms/op 0.98
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 16.379 ms/op 17.321 ms/op 0.95
BeaconState.hashTreeRoot - 1 balances 69.535 us/op 67.685 us/op 1.03
BeaconState.hashTreeRoot - 32 balances 666.26 us/op 651.58 us/op 1.02
BeaconState.hashTreeRoot - 512 balances 6.1276 ms/op 6.9418 ms/op 0.88
BeaconState.hashTreeRoot - 250000 balances 100.19 ms/op 101.73 ms/op 0.98
aggregationBits - 2048 els - zipIndexesInBitList 25.017 us/op 24.357 us/op 1.03
regular array get 100000 times 60.552 us/op 60.551 us/op 1.00
wrappedArray get 100000 times 60.563 us/op 60.576 us/op 1.00
arrayWithProxy get 100000 times 26.671 ms/op 26.720 ms/op 1.00
ssz.Root.equals 948.00 ns/op 1.0100 us/op 0.94
byteArrayEquals 962.00 ns/op 997.00 ns/op 0.96
shuffle list - 16384 els 11.394 ms/op 11.291 ms/op 1.01
shuffle list - 250000 els 167.40 ms/op 166.47 ms/op 1.01
processSlot - 1 slots 12.987 us/op 13.105 us/op 0.99
processSlot - 32 slots 1.9093 ms/op 1.9802 ms/op 0.96
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 315.44 us/op 324.63 us/op 0.97
getCommitteeAssignments - req 1 vs - 250000 vc 5.4634 ms/op 5.4501 ms/op 1.00
getCommitteeAssignments - req 100 vs - 250000 vc 7.9584 ms/op 7.9617 ms/op 1.00
getCommitteeAssignments - req 1000 vs - 250000 vc 8.5401 ms/op 8.5377 ms/op 1.00
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 7.4800 ns/op 8.1300 ns/op 0.92
state getBlockRootAtSlot - 250000 vs - 7PWei 1.0580 us/op 1.0652 us/op 0.99
computeProposers - vc 250000 17.477 ms/op 17.203 ms/op 1.02
computeEpochShuffling - vc 250000 173.61 ms/op 169.24 ms/op 1.03
getNextSyncCommittee - vc 250000 292.52 ms/op 286.34 ms/op 1.02

by benchmarkbot/action

@twoeths twoeths marked this pull request as ready for review January 13, 2023 09:48
@twoeths twoeths requested a review from a team as a code owner January 13, 2023 09:48
@wemeetagain wemeetagain merged commit 50ea681 into unstable Jan 13, 2023
@wemeetagain wemeetagain deleted the tuyen/remove_workflow_set-output branch January 13, 2023 16:02
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.

Update github workflows to avoid ::set-output
2 participants