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: update cpu-features subdependency #5674

Merged
merged 1 commit into from
Jun 21, 2023

Conversation

wemeetagain
Copy link
Member

Motivation

Upgrading to node v20, noticed a stack trace based on this outdated dependency

Description

  • Update cpu-features version

@wemeetagain wemeetagain requested a review from a team as a code owner June 20, 2023 17:59
@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: e605364 Previous: 61c838b Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 859.99 us/op 625.81 us/op 1.37
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 60.196 us/op 63.257 us/op 0.95
BLS verify - blst-native 1.2914 ms/op 1.3110 ms/op 0.98
BLS verifyMultipleSignatures 3 - blst-native 2.6834 ms/op 2.5957 ms/op 1.03
BLS verifyMultipleSignatures 8 - blst-native 5.9839 ms/op 5.5428 ms/op 1.08
BLS verifyMultipleSignatures 32 - blst-native 20.974 ms/op 20.246 ms/op 1.04
BLS aggregatePubkeys 32 - blst-native 30.510 us/op 27.384 us/op 1.11
BLS aggregatePubkeys 128 - blst-native 106.99 us/op 106.28 us/op 1.01
getAttestationsForBlock 88.401 ms/op 71.178 ms/op 1.24
isKnown best case - 1 super set check 290.00 ns/op 283.00 ns/op 1.02
isKnown normal case - 2 super set checks 285.00 ns/op 283.00 ns/op 1.01
isKnown worse case - 16 super set checks 284.00 ns/op 280.00 ns/op 1.01
CheckpointStateCache - add get delete 7.2930 us/op 6.0910 us/op 1.20
validate gossip signedAggregateAndProof - struct 3.0537 ms/op 3.0004 ms/op 1.02
validate gossip attestation - struct 1.5464 ms/op 1.4210 ms/op 1.09
pickEth1Vote - no votes 1.4589 ms/op 1.5703 ms/op 0.93
pickEth1Vote - max votes 15.531 ms/op 13.737 ms/op 1.13
pickEth1Vote - Eth1Data hashTreeRoot value x2048 11.473 ms/op 10.911 ms/op 1.05
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 21.915 ms/op 18.167 ms/op 1.21
pickEth1Vote - Eth1Data fastSerialize value x2048 876.99 us/op 858.38 us/op 1.02
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.7010 ms/op 7.7702 ms/op 0.86
bytes32 toHexString 950.00 ns/op 753.00 ns/op 1.26
bytes32 Buffer.toString(hex) 511.00 ns/op 475.00 ns/op 1.08
bytes32 Buffer.toString(hex) from Uint8Array 871.00 ns/op 666.00 ns/op 1.31
bytes32 Buffer.toString(hex) + 0x 476.00 ns/op 466.00 ns/op 1.02
Object access 1 prop 0.22000 ns/op 0.21100 ns/op 1.04
Map access 1 prop 0.17900 ns/op 0.17300 ns/op 1.03
Object get x1000 7.3290 ns/op 7.5280 ns/op 0.97
Map get x1000 0.70900 ns/op 0.66800 ns/op 1.06
Object set x1000 74.381 ns/op 62.918 ns/op 1.18
Map set x1000 56.001 ns/op 48.707 ns/op 1.15
Return object 10000 times 0.24270 ns/op 0.25410 ns/op 0.96
Throw Error 10000 times 4.4622 us/op 4.4506 us/op 1.00
fastMsgIdFn sha256 / 200 bytes 3.6450 us/op 3.6940 us/op 0.99
fastMsgIdFn h32 xxhash / 200 bytes 321.00 ns/op 332.00 ns/op 0.97
fastMsgIdFn h64 xxhash / 200 bytes 484.00 ns/op 475.00 ns/op 1.02
fastMsgIdFn sha256 / 1000 bytes 12.198 us/op 12.174 us/op 1.00
fastMsgIdFn h32 xxhash / 1000 bytes 452.00 ns/op 467.00 ns/op 0.97
fastMsgIdFn h64 xxhash / 1000 bytes 591.00 ns/op 580.00 ns/op 1.02
fastMsgIdFn sha256 / 10000 bytes 107.58 us/op 107.23 us/op 1.00
fastMsgIdFn h32 xxhash / 10000 bytes 2.0390 us/op 2.0620 us/op 0.99
fastMsgIdFn h64 xxhash / 10000 bytes 1.4820 us/op 1.4920 us/op 0.99
enrSubnets - fastDeserialize 64 bits 1.6650 us/op 1.6030 us/op 1.04
enrSubnets - ssz BitVector 64 bits 622.00 ns/op 650.00 ns/op 0.96
enrSubnets - fastDeserialize 4 bits 212.00 ns/op 226.00 ns/op 0.94
enrSubnets - ssz BitVector 4 bits 653.00 ns/op 717.00 ns/op 0.91
prioritizePeers score -10:0 att 32-0.1 sync 2-0 118.94 us/op 118.67 us/op 1.00
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 159.53 us/op 158.90 us/op 1.00
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 199.67 us/op 198.82 us/op 1.00
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 379.34 us/op 376.57 us/op 1.01
prioritizePeers score 0:0 att 64-1 sync 4-1 468.16 us/op 450.46 us/op 1.04
array of 16000 items push then shift 1.7574 us/op 1.7380 us/op 1.01
LinkedList of 16000 items push then shift 9.7040 ns/op 10.192 ns/op 0.95
array of 16000 items push then pop 124.45 ns/op 122.40 ns/op 1.02
LinkedList of 16000 items push then pop 9.5260 ns/op 9.2990 ns/op 1.02
array of 24000 items push then shift 2.5222 us/op 2.4491 us/op 1.03
LinkedList of 24000 items push then shift 11.304 ns/op 10.495 ns/op 1.08
array of 24000 items push then pop 86.396 ns/op 88.566 ns/op 0.98
LinkedList of 24000 items push then pop 9.4280 ns/op 9.2150 ns/op 1.02
intersect bitArray bitLen 8 13.861 ns/op 13.941 ns/op 0.99
intersect array and set length 8 108.48 ns/op 92.857 ns/op 1.17
intersect bitArray bitLen 128 45.549 ns/op 45.552 ns/op 1.00
intersect array and set length 128 1.3244 us/op 1.3307 us/op 1.00
Buffer.concat 32 items 3.1480 us/op 3.2190 us/op 0.98
Uint8Array.set 32 items 2.9500 us/op 2.9180 us/op 1.01
transfer serialized Status (84 B) 2.2720 us/op 2.3950 us/op 0.95
copy serialized Status (84 B) 1.8510 us/op 2.0040 us/op 0.92
transfer serialized SignedVoluntaryExit (112 B) 2.3560 us/op 2.4140 us/op 0.98
copy serialized SignedVoluntaryExit (112 B) 1.8440 us/op 1.9080 us/op 0.97
transfer serialized ProposerSlashing (416 B) 2.4640 us/op 3.1070 us/op 0.79
copy serialized ProposerSlashing (416 B) 2.4050 us/op 3.3110 us/op 0.73
transfer serialized Attestation (485 B) 2.5680 us/op 3.2930 us/op 0.78
copy serialized Attestation (485 B) 2.7750 us/op 3.1590 us/op 0.88
transfer serialized AttesterSlashing (33232 B) 2.5250 us/op 3.7570 us/op 0.67
copy serialized AttesterSlashing (33232 B) 7.9800 us/op 9.4820 us/op 0.84
transfer serialized Small SignedBeaconBlock (128000 B) 3.0340 us/op 3.1680 us/op 0.96
copy serialized Small SignedBeaconBlock (128000 B) 23.402 us/op 25.223 us/op 0.93
transfer serialized Avg SignedBeaconBlock (200000 B) 3.3490 us/op 3.9390 us/op 0.85
copy serialized Avg SignedBeaconBlock (200000 B) 71.148 us/op 70.031 us/op 1.02
transfer serialized BlobsSidecar (524380 B) 3.6960 us/op 4.5550 us/op 0.81
copy serialized BlobsSidecar (524380 B) 137.91 us/op 218.16 us/op 0.63
transfer serialized Big SignedBeaconBlock (1000000 B) 3.9530 us/op 4.3540 us/op 0.91
copy serialized Big SignedBeaconBlock (1000000 B) 311.85 us/op 332.63 us/op 0.94
pass gossip attestations to forkchoice per slot 2.7622 ms/op 2.9333 ms/op 0.94
forkChoice updateHead vc 100000 bc 64 eq 0 2.1697 ms/op 2.2292 ms/op 0.97
forkChoice updateHead vc 600000 bc 64 eq 0 12.325 ms/op 17.907 ms/op 0.69
forkChoice updateHead vc 1000000 bc 64 eq 0 26.281 ms/op 20.371 ms/op 1.29
forkChoice updateHead vc 600000 bc 320 eq 0 18.592 ms/op 17.449 ms/op 1.07
forkChoice updateHead vc 600000 bc 1200 eq 0 89.593 ms/op 91.798 ms/op 0.98
forkChoice updateHead vc 600000 bc 64 eq 1000 21.831 ms/op 22.350 ms/op 0.98
forkChoice updateHead vc 600000 bc 64 eq 10000 24.001 ms/op 24.198 ms/op 0.99
forkChoice updateHead vc 600000 bc 64 eq 300000 64.038 ms/op 51.901 ms/op 1.23
computeDeltas 3.2526 ms/op 3.4020 ms/op 0.96
computeProposerBoostScoreFromBalances 1.8522 ms/op 1.9200 ms/op 0.96
altair processAttestation - 250000 vs - 7PWei normalcase 2.9810 ms/op 3.0881 ms/op 0.97
altair processAttestation - 250000 vs - 7PWei worstcase 4.4992 ms/op 4.4255 ms/op 1.02
altair processAttestation - setStatus - 1/6 committees join 151.10 us/op 151.75 us/op 1.00
altair processAttestation - setStatus - 1/3 committees join 301.93 us/op 296.82 us/op 1.02
altair processAttestation - setStatus - 1/2 committees join 382.64 us/op 407.34 us/op 0.94
altair processAttestation - setStatus - 2/3 committees join 495.85 us/op 503.10 us/op 0.99
altair processAttestation - setStatus - 4/5 committees join 678.23 us/op 700.00 us/op 0.97
altair processAttestation - setStatus - 100% committees join 773.18 us/op 815.10 us/op 0.95
altair processBlock - 250000 vs - 7PWei normalcase 18.087 ms/op 20.058 ms/op 0.90
altair processBlock - 250000 vs - 7PWei normalcase hashState 24.653 ms/op 34.387 ms/op 0.72
altair processBlock - 250000 vs - 7PWei worstcase 50.835 ms/op 60.084 ms/op 0.85
altair processBlock - 250000 vs - 7PWei worstcase hashState 67.505 ms/op 76.417 ms/op 0.88
phase0 processBlock - 250000 vs - 7PWei normalcase 2.2094 ms/op 2.7488 ms/op 0.80
phase0 processBlock - 250000 vs - 7PWei worstcase 30.100 ms/op 37.143 ms/op 0.81
altair processEth1Data - 250000 vs - 7PWei normalcase 591.61 us/op 742.60 us/op 0.80
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 8.7670 us/op 12.013 us/op 0.73
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 29.252 us/op 35.455 us/op 0.83
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 10.855 us/op 16.803 us/op 0.65
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 7.4550 us/op 14.692 us/op 0.51
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 103.75 us/op 118.62 us/op 0.87
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 673.26 us/op 1.1036 ms/op 0.61
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 938.01 us/op 1.0718 ms/op 0.88
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 899.23 us/op 929.60 us/op 0.97
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.4421 ms/op 3.1532 ms/op 0.77
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.6668 ms/op 2.0546 ms/op 0.81
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.9413 ms/op 5.6386 ms/op 0.70
Tree 40 250000 create 338.40 ms/op 500.53 ms/op 0.68
Tree 40 250000 get(125000) 186.60 ns/op 203.06 ns/op 0.92
Tree 40 250000 set(125000) 882.12 ns/op 1.1828 us/op 0.75
Tree 40 250000 toArray() 18.406 ms/op 27.109 ms/op 0.68
Tree 40 250000 iterate all - toArray() + loop 17.776 ms/op 26.219 ms/op 0.68
Tree 40 250000 iterate all - get(i) 67.816 ms/op 79.535 ms/op 0.85
MutableVector 250000 create 11.036 ms/op 11.681 ms/op 0.94
MutableVector 250000 get(125000) 6.4420 ns/op 6.5860 ns/op 0.98
MutableVector 250000 set(125000) 264.83 ns/op 317.73 ns/op 0.83
MutableVector 250000 toArray() 3.1478 ms/op 4.1697 ms/op 0.75
MutableVector 250000 iterate all - toArray() + loop 3.4069 ms/op 4.2081 ms/op 0.81
MutableVector 250000 iterate all - get(i) 1.5317 ms/op 1.5731 ms/op 0.97
Array 250000 create 2.9526 ms/op 3.6807 ms/op 0.80
Array 250000 clone - spread 1.2582 ms/op 1.4666 ms/op 0.86
Array 250000 get(125000) 0.62900 ns/op 0.71100 ns/op 0.88
Array 250000 set(125000) 0.67600 ns/op 0.77600 ns/op 0.87
Array 250000 iterate all - loop 114.68 us/op 88.418 us/op 1.30
effectiveBalanceIncrements clone Uint8Array 300000 43.770 us/op 47.653 us/op 0.92
effectiveBalanceIncrements clone MutableVector 300000 369.00 ns/op 340.00 ns/op 1.09
effectiveBalanceIncrements rw all Uint8Array 300000 170.64 us/op 172.49 us/op 0.99
effectiveBalanceIncrements rw all MutableVector 300000 90.360 ms/op 89.342 ms/op 1.01
phase0 afterProcessEpoch - 250000 vs - 7PWei 116.03 ms/op 118.53 ms/op 0.98
phase0 beforeProcessEpoch - 250000 vs - 7PWei 41.715 ms/op 37.097 ms/op 1.12
altair processEpoch - mainnet_e81889 349.17 ms/op 324.06 ms/op 1.08
mainnet_e81889 - altair beforeProcessEpoch 72.692 ms/op 72.974 ms/op 1.00
mainnet_e81889 - altair processJustificationAndFinalization 17.592 us/op 27.628 us/op 0.64
mainnet_e81889 - altair processInactivityUpdates 7.0672 ms/op 6.6889 ms/op 1.06
mainnet_e81889 - altair processRewardsAndPenalties 51.790 ms/op 67.770 ms/op 0.76
mainnet_e81889 - altair processRegistryUpdates 2.7960 us/op 3.2470 us/op 0.86
mainnet_e81889 - altair processSlashings 634.00 ns/op 820.00 ns/op 0.77
mainnet_e81889 - altair processEth1DataReset 756.00 ns/op 1.0110 us/op 0.75
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2957 ms/op 1.2878 ms/op 1.01
mainnet_e81889 - altair processSlashingsReset 6.4540 us/op 7.9710 us/op 0.81
mainnet_e81889 - altair processRandaoMixesReset 7.3470 us/op 7.4710 us/op 0.98
mainnet_e81889 - altair processHistoricalRootsUpdate 1.1370 us/op 2.1590 us/op 0.53
mainnet_e81889 - altair processParticipationFlagUpdates 2.6690 us/op 8.9650 us/op 0.30
mainnet_e81889 - altair processSyncCommitteeUpdates 726.00 ns/op 1.5660 us/op 0.46
mainnet_e81889 - altair afterProcessEpoch 129.87 ms/op 135.52 ms/op 0.96
phase0 processEpoch - mainnet_e58758 374.55 ms/op 410.66 ms/op 0.91
mainnet_e58758 - phase0 beforeProcessEpoch 138.34 ms/op 157.53 ms/op 0.88
mainnet_e58758 - phase0 processJustificationAndFinalization 18.729 us/op 22.254 us/op 0.84
mainnet_e58758 - phase0 processRewardsAndPenalties 64.829 ms/op 67.944 ms/op 0.95
mainnet_e58758 - phase0 processRegistryUpdates 8.8130 us/op 16.164 us/op 0.55
mainnet_e58758 - phase0 processSlashings 582.00 ns/op 838.00 ns/op 0.69
mainnet_e58758 - phase0 processEth1DataReset 509.00 ns/op 1.5060 us/op 0.34
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.0101 ms/op 1.0769 ms/op 0.94
mainnet_e58758 - phase0 processSlashingsReset 4.6550 us/op 4.4270 us/op 1.05
mainnet_e58758 - phase0 processRandaoMixesReset 6.0050 us/op 8.2500 us/op 0.73
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.8720 us/op 1.4890 us/op 1.26
mainnet_e58758 - phase0 processParticipationRecordUpdates 5.8810 us/op 5.6950 us/op 1.03
mainnet_e58758 - phase0 afterProcessEpoch 102.92 ms/op 103.77 ms/op 0.99
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.3653 ms/op 1.2911 ms/op 1.06
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.8602 ms/op 1.7153 ms/op 1.08
altair processInactivityUpdates - 250000 normalcase 29.927 ms/op 28.360 ms/op 1.06
altair processInactivityUpdates - 250000 worstcase 28.817 ms/op 24.545 ms/op 1.17
phase0 processRegistryUpdates - 250000 normalcase 7.7260 us/op 10.534 us/op 0.73
phase0 processRegistryUpdates - 250000 badcase_full_deposits 297.56 us/op 304.87 us/op 0.98
phase0 processRegistryUpdates - 250000 worstcase 0.5 123.48 ms/op 138.09 ms/op 0.89
altair processRewardsAndPenalties - 250000 normalcase 67.871 ms/op 67.823 ms/op 1.00
altair processRewardsAndPenalties - 250000 worstcase 68.083 ms/op 74.171 ms/op 0.92
phase0 getAttestationDeltas - 250000 normalcase 6.9967 ms/op 9.7285 ms/op 0.72
phase0 getAttestationDeltas - 250000 worstcase 6.9633 ms/op 7.3579 ms/op 0.95
phase0 processSlashings - 250000 worstcase 3.7680 ms/op 4.8529 ms/op 0.78
altair processSyncCommitteeUpdates - 250000 188.01 ms/op 207.28 ms/op 0.91
BeaconState.hashTreeRoot - No change 271.00 ns/op 375.00 ns/op 0.72
BeaconState.hashTreeRoot - 1 full validator 52.193 us/op 66.839 us/op 0.78
BeaconState.hashTreeRoot - 32 full validator 519.09 us/op 675.52 us/op 0.77
BeaconState.hashTreeRoot - 512 full validator 5.3924 ms/op 7.8345 ms/op 0.69
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 65.531 us/op 89.743 us/op 0.73
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 989.71 us/op 1.2707 ms/op 0.78
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 12.053 ms/op 15.319 ms/op 0.79
BeaconState.hashTreeRoot - 1 balances 53.152 us/op 57.843 us/op 0.92
BeaconState.hashTreeRoot - 32 balances 454.27 us/op 501.16 us/op 0.91
BeaconState.hashTreeRoot - 512 balances 4.7035 ms/op 5.8457 ms/op 0.80
BeaconState.hashTreeRoot - 250000 balances 73.793 ms/op 84.400 ms/op 0.87
aggregationBits - 2048 els - zipIndexesInBitList 16.562 us/op 26.271 us/op 0.63
regular array get 100000 times 33.906 us/op 52.183 us/op 0.65
wrappedArray get 100000 times 33.770 us/op 53.492 us/op 0.63
arrayWithProxy get 100000 times 17.489 ms/op 19.695 ms/op 0.89
ssz.Root.equals 594.00 ns/op 986.00 ns/op 0.60
byteArrayEquals 586.00 ns/op 874.00 ns/op 0.67
shuffle list - 16384 els 7.1110 ms/op 8.7302 ms/op 0.81
shuffle list - 250000 els 104.22 ms/op 122.85 ms/op 0.85
processSlot - 1 slots 8.9740 us/op 10.868 us/op 0.83
processSlot - 32 slots 1.4329 ms/op 1.5343 ms/op 0.93
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 36.518 ms/op 37.101 ms/op 0.98
getCommitteeAssignments - req 1 vs - 250000 vc 2.9746 ms/op 2.9949 ms/op 0.99
getCommitteeAssignments - req 100 vs - 250000 vc 4.2849 ms/op 4.2707 ms/op 1.00
getCommitteeAssignments - req 1000 vs - 250000 vc 4.5775 ms/op 4.6480 ms/op 0.98
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.6500 ns/op 5.1700 ns/op 0.90
state getBlockRootAtSlot - 250000 vs - 7PWei 784.68 ns/op 999.71 ns/op 0.78
computeProposers - vc 250000 10.848 ms/op 11.625 ms/op 0.93
computeEpochShuffling - vc 250000 104.96 ms/op 106.27 ms/op 0.99
getNextSyncCommittee - vc 250000 176.07 ms/op 182.87 ms/op 0.96
computeSigningRoot for AttestationData 13.389 us/op 14.070 us/op 0.95
hash AttestationData serialized data then Buffer.toString(base64) 2.5390 us/op 2.5753 us/op 0.99
toHexString serialized data 1.1495 us/op 1.1947 us/op 0.96
Buffer.toString(base64) 342.46 ns/op 377.91 ns/op 0.91

by benchmarkbot/action

@wemeetagain wemeetagain merged commit 2a2c517 into unstable Jun 21, 2023
11 checks passed
@wemeetagain wemeetagain deleted the cayman/update-cpu-features branch June 21, 2023 16:15
@wemeetagain wemeetagain mentioned this pull request Jun 23, 2023
4 tasks
@wemeetagain
Copy link
Member Author

🎉 This PR is included in v1.10.0 🎉

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