Skip to content

Upgrade fastify to latest version - #5369

Merged
wemeetagain merged 1 commit into
unstablefrom
nh/fastify-upgrade
Apr 17, 2023
Merged

Upgrade fastify to latest version#5369
wemeetagain merged 1 commit into
unstablefrom
nh/fastify-upgrade

Conversation

@nazarhussain

Copy link
Copy Markdown
Contributor

Motivation

Keep the dependencies up-to-date.

Description

Upgrade fastify to latest major version.

Steps to test or reproduce

  • Run all tests.

@nazarhussain nazarhussain self-assigned this Apr 17, 2023
@github-actions

Copy link
Copy Markdown
Contributor

Performance Report

鉁旓笍 no performance regression detected

Full benchmark results
Benchmark suite Current: a3b47cb Previous: 395a246 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 833.49 us/op 772.69 us/op 1.08
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 58.827 us/op 61.686 us/op 0.95
BLS verify - blst-native 1.5009 ms/op 1.3301 ms/op 1.13
BLS verifyMultipleSignatures 3 - blst-native 3.0229 ms/op 2.7928 ms/op 1.08
BLS verifyMultipleSignatures 8 - blst-native 6.5598 ms/op 5.6608 ms/op 1.16
BLS verifyMultipleSignatures 32 - blst-native 24.197 ms/op 21.082 ms/op 1.15
BLS aggregatePubkeys 32 - blst-native 32.293 us/op 27.510 us/op 1.17
BLS aggregatePubkeys 128 - blst-native 124.93 us/op 107.44 us/op 1.16
getAttestationsForBlock 65.730 ms/op 78.463 ms/op 0.84
isKnown best case - 1 super set check 336.00 ns/op 327.00 ns/op 1.03
isKnown normal case - 2 super set checks 326.00 ns/op 279.00 ns/op 1.17
isKnown worse case - 16 super set checks 310.00 ns/op 271.00 ns/op 1.14
CheckpointStateCache - add get delete 6.5240 us/op 6.1850 us/op 1.05
validate gossip signedAggregateAndProof - struct 3.3797 ms/op 2.9334 ms/op 1.15
validate gossip attestation - struct 1.5201 ms/op 1.4048 ms/op 1.08
pickEth1Vote - no votes 1.6299 ms/op 1.4122 ms/op 1.15
pickEth1Vote - max votes 10.934 ms/op 10.608 ms/op 1.03
pickEth1Vote - Eth1Data hashTreeRoot value x2048 10.651 ms/op 9.4309 ms/op 1.13
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 17.274 ms/op 17.630 ms/op 0.98
pickEth1Vote - Eth1Data fastSerialize value x2048 839.62 us/op 748.70 us/op 1.12
pickEth1Vote - Eth1Data fastSerialize tree x2048 7.7536 ms/op 8.2074 ms/op 0.94
bytes32 toHexString 602.00 ns/op 765.00 ns/op 0.79
bytes32 Buffer.toString(hex) 446.00 ns/op 478.00 ns/op 0.93
bytes32 Buffer.toString(hex) from Uint8Array 691.00 ns/op 675.00 ns/op 1.02
bytes32 Buffer.toString(hex) + 0x 444.00 ns/op 464.00 ns/op 0.96
Object access 1 prop 0.20500 ns/op 0.21600 ns/op 0.95
Map access 1 prop 0.18800 ns/op 0.17400 ns/op 1.08
Object get x1000 8.1910 ns/op 7.7540 ns/op 1.06
Map get x1000 0.73600 ns/op 0.71900 ns/op 1.02
Object set x1000 60.811 ns/op 69.561 ns/op 0.87
Map set x1000 49.735 ns/op 53.464 ns/op 0.93
Return object 10000 times 0.26550 ns/op 0.25560 ns/op 1.04
Throw Error 10000 times 5.2552 us/op 4.3905 us/op 1.20
fastMsgIdFn sha256 / 200 bytes 4.1930 us/op 3.7190 us/op 1.13
fastMsgIdFn h32 xxhash / 200 bytes 333.00 ns/op 325.00 ns/op 1.02
fastMsgIdFn h64 xxhash / 200 bytes 513.00 ns/op 457.00 ns/op 1.12
fastMsgIdFn sha256 / 1000 bytes 13.852 us/op 12.161 us/op 1.14
fastMsgIdFn h32 xxhash / 1000 bytes 489.00 ns/op 457.00 ns/op 1.07
fastMsgIdFn h64 xxhash / 1000 bytes 563.00 ns/op 517.00 ns/op 1.09
fastMsgIdFn sha256 / 10000 bytes 122.69 us/op 107.91 us/op 1.14
fastMsgIdFn h32 xxhash / 10000 bytes 2.2020 us/op 2.0200 us/op 1.09
fastMsgIdFn h64 xxhash / 10000 bytes 1.5460 us/op 1.4860 us/op 1.04
enrSubnets - fastDeserialize 64 bits 1.5110 us/op 1.5120 us/op 1.00
enrSubnets - ssz BitVector 64 bits 576.00 ns/op 610.00 ns/op 0.94
enrSubnets - fastDeserialize 4 bits 200.00 ns/op 210.00 ns/op 0.95
enrSubnets - ssz BitVector 4 bits 578.00 ns/op 622.00 ns/op 0.93
prioritizePeers score -10:0 att 32-0.1 sync 2-0 121.67 us/op 111.27 us/op 1.09
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 158.08 us/op 170.22 us/op 0.93
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 202.20 us/op 200.56 us/op 1.01
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 378.73 us/op 362.34 us/op 1.05
prioritizePeers score 0:0 att 64-1 sync 4-1 483.85 us/op 392.72 us/op 1.23
array of 16000 items push then shift 1.8637 us/op 1.7189 us/op 1.08
LinkedList of 16000 items push then shift 9.9510 ns/op 9.1400 ns/op 1.09
array of 16000 items push then pop 120.89 ns/op 93.477 ns/op 1.29
LinkedList of 16000 items push then pop 9.6240 ns/op 9.0320 ns/op 1.07
array of 24000 items push then shift 2.6170 us/op 2.4823 us/op 1.05
LinkedList of 24000 items push then shift 10.003 ns/op 9.3880 ns/op 1.07
array of 24000 items push then pop 97.129 ns/op 86.631 ns/op 1.12
LinkedList of 24000 items push then pop 10.135 ns/op 9.1490 ns/op 1.11
intersect bitArray bitLen 8 16.024 ns/op 14.565 ns/op 1.10
intersect array and set length 8 93.189 ns/op 86.197 ns/op 1.08
intersect bitArray bitLen 128 52.642 ns/op 45.333 ns/op 1.16
intersect array and set length 128 1.2768 us/op 1.2879 us/op 0.99
Buffer.concat 32 items 3.4470 us/op 2.7860 us/op 1.24
Uint8Array.set 32 items 2.8140 us/op 2.6800 us/op 1.05
pass gossip attestations to forkchoice per slot 3.0645 ms/op 3.0430 ms/op 1.01
computeDeltas 3.6378 ms/op 3.0615 ms/op 1.19
computeProposerBoostScoreFromBalances 1.9936 ms/op 1.8956 ms/op 1.05
altair processAttestation - 250000 vs - 7PWei normalcase 2.9080 ms/op 3.2183 ms/op 0.90
altair processAttestation - 250000 vs - 7PWei worstcase 5.0755 ms/op 4.6741 ms/op 1.09
altair processAttestation - setStatus - 1/6 committees join 170.24 us/op 143.60 us/op 1.19
altair processAttestation - setStatus - 1/3 committees join 331.09 us/op 285.84 us/op 1.16
altair processAttestation - setStatus - 1/2 committees join 416.55 us/op 380.60 us/op 1.09
altair processAttestation - setStatus - 2/3 committees join 557.41 us/op 483.63 us/op 1.15
altair processAttestation - setStatus - 4/5 committees join 797.24 us/op 699.21 us/op 1.14
altair processAttestation - setStatus - 100% committees join 940.84 us/op 806.14 us/op 1.17
altair processBlock - 250000 vs - 7PWei normalcase 18.618 ms/op 18.945 ms/op 0.98
altair processBlock - 250000 vs - 7PWei normalcase hashState 32.723 ms/op 26.973 ms/op 1.21
altair processBlock - 250000 vs - 7PWei worstcase 61.428 ms/op 57.710 ms/op 1.06
altair processBlock - 250000 vs - 7PWei worstcase hashState 80.239 ms/op 72.939 ms/op 1.10
phase0 processBlock - 250000 vs - 7PWei normalcase 2.7749 ms/op 2.6886 ms/op 1.03
phase0 processBlock - 250000 vs - 7PWei worstcase 39.025 ms/op 33.545 ms/op 1.16
altair processEth1Data - 250000 vs - 7PWei normalcase 715.67 us/op 592.67 us/op 1.21
vc - 250000 eb 1 eth1 1 we 0 wn 0 - smpl 15 8.6140 us/op 10.595 us/op 0.81
vc - 250000 eb 0.95 eth1 0.1 we 0.05 wn 0 - smpl 219 30.597 us/op 31.314 us/op 0.98
vc - 250000 eb 0.95 eth1 0.3 we 0.05 wn 0 - smpl 42 12.664 us/op 12.397 us/op 1.02
vc - 250000 eb 0.95 eth1 0.7 we 0.05 wn 0 - smpl 18 11.440 us/op 9.1930 us/op 1.24
vc - 250000 eb 0.1 eth1 0.1 we 0 wn 0 - smpl 1020 86.815 us/op 112.40 us/op 0.77
vc - 250000 eb 0.03 eth1 0.03 we 0 wn 0 - smpl 11777 958.73 us/op 679.61 us/op 1.41
vc - 250000 eb 0.01 eth1 0.01 we 0 wn 0 - smpl 16384 1.2550 ms/op 973.59 us/op 1.29
vc - 250000 eb 0 eth1 0 we 0 wn 0 - smpl 16384 1.2605 ms/op 953.61 us/op 1.32
vc - 250000 eb 0 eth1 0 we 0 wn 0 nocache - smpl 16384 3.6505 ms/op 2.6658 ms/op 1.37
vc - 250000 eb 0 eth1 1 we 0 wn 0 - smpl 16384 3.0633 ms/op 1.7496 ms/op 1.75
vc - 250000 eb 0 eth1 1 we 0 wn 0 nocache - smpl 16384 8.7497 ms/op 4.7435 ms/op 1.84
Tree 40 250000 create 572.63 ms/op 354.15 ms/op 1.62
Tree 40 250000 get(125000) 309.74 ns/op 194.85 ns/op 1.59
Tree 40 250000 set(125000) 1.5143 us/op 1.0400 us/op 1.46
Tree 40 250000 toArray() 28.394 ms/op 22.227 ms/op 1.28
Tree 40 250000 iterate all - toArray() + loop 32.199 ms/op 25.751 ms/op 1.25
Tree 40 250000 iterate all - get(i) 108.10 ms/op 75.031 ms/op 1.44
MutableVector 250000 create 19.239 ms/op 10.209 ms/op 1.88
MutableVector 250000 get(125000) 10.381 ns/op 6.6550 ns/op 1.56
MutableVector 250000 set(125000) 642.99 ns/op 265.89 ns/op 2.42
MutableVector 250000 toArray() 5.7570 ms/op 3.3882 ms/op 1.70
MutableVector 250000 iterate all - toArray() + loop 5.9930 ms/op 3.1530 ms/op 1.90
MutableVector 250000 iterate all - get(i) 3.3487 ms/op 1.6246 ms/op 2.06
Array 250000 create 6.5370 ms/op 2.9251 ms/op 2.23
Array 250000 clone - spread 4.2918 ms/op 1.2332 ms/op 3.48
Array 250000 get(125000) 2.4710 ns/op 0.59000 ns/op 4.19
Array 250000 set(125000) 2.4210 ns/op 0.66000 ns/op 3.67
Array 250000 iterate all - loop 315.18 us/op 97.692 us/op 3.23
effectiveBalanceIncrements clone Uint8Array 300000 75.643 us/op 36.684 us/op 2.06
effectiveBalanceIncrements clone MutableVector 300000 1.1160 us/op 379.00 ns/op 2.94
effectiveBalanceIncrements rw all Uint8Array 300000 364.76 us/op 176.99 us/op 2.06
effectiveBalanceIncrements rw all MutableVector 300000 261.77 ms/op 90.388 ms/op 2.90
phase0 afterProcessEpoch - 250000 vs - 7PWei 248.73 ms/op 122.39 ms/op 2.03
phase0 beforeProcessEpoch - 250000 vs - 7PWei 76.515 ms/op 40.892 ms/op 1.87
altair processEpoch - mainnet_e81889 865.87 ms/op 351.42 ms/op 2.46
mainnet_e81889 - altair beforeProcessEpoch 158.01 ms/op 72.234 ms/op 2.19
mainnet_e81889 - altair processJustificationAndFinalization 78.123 us/op 22.119 us/op 3.53
mainnet_e81889 - altair processInactivityUpdates 19.008 ms/op 6.3410 ms/op 3.00
mainnet_e81889 - altair processRewardsAndPenalties 117.61 ms/op 50.945 ms/op 2.31
mainnet_e81889 - altair processRegistryUpdates 11.992 us/op 5.4510 us/op 2.20
mainnet_e81889 - altair processSlashings 2.4420 us/op 1.4530 us/op 1.68
mainnet_e81889 - altair processEth1DataReset 2.9880 us/op 1.3710 us/op 2.18
mainnet_e81889 - altair processEffectiveBalanceUpdates 3.0005 ms/op 1.5793 ms/op 1.90
mainnet_e81889 - altair processSlashingsReset 13.288 us/op 5.0150 us/op 2.65
mainnet_e81889 - altair processRandaoMixesReset 16.275 us/op 10.069 us/op 1.62
mainnet_e81889 - altair processHistoricalRootsUpdate 3.3270 us/op 1.2670 us/op 2.63
mainnet_e81889 - altair processParticipationFlagUpdates 10.098 us/op 3.9350 us/op 2.57
mainnet_e81889 - altair processSyncCommitteeUpdates 3.6500 us/op 1.1560 us/op 3.16
mainnet_e81889 - altair afterProcessEpoch 309.18 ms/op 152.95 ms/op 2.02
phase0 processEpoch - mainnet_e58758 520.97 ms/op 418.31 ms/op 1.25
mainnet_e58758 - phase0 beforeProcessEpoch 195.59 ms/op 161.66 ms/op 1.21
mainnet_e58758 - phase0 processJustificationAndFinalization 43.926 us/op 19.574 us/op 2.24
mainnet_e58758 - phase0 processRewardsAndPenalties 83.553 ms/op 67.033 ms/op 1.25
mainnet_e58758 - phase0 processRegistryUpdates 10.137 us/op 10.228 us/op 0.99
mainnet_e58758 - phase0 processSlashings 640.00 ns/op 601.00 ns/op 1.06
mainnet_e58758 - phase0 processEth1DataReset 1.0110 us/op 701.00 ns/op 1.44
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.7355 ms/op 1.0309 ms/op 1.68
mainnet_e58758 - phase0 processSlashingsReset 5.5510 us/op 4.8940 us/op 1.13
mainnet_e58758 - phase0 processRandaoMixesReset 13.739 us/op 7.4360 us/op 1.85
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.6170 us/op 840.00 ns/op 1.93
mainnet_e58758 - phase0 processParticipationRecordUpdates 6.7860 us/op 5.1770 us/op 1.31
mainnet_e58758 - phase0 afterProcessEpoch 174.20 ms/op 103.02 ms/op 1.69
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.7480 ms/op 1.2706 ms/op 1.38
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.5782 ms/op 1.7524 ms/op 1.47
altair processInactivityUpdates - 250000 normalcase 36.577 ms/op 24.397 ms/op 1.50
altair processInactivityUpdates - 250000 worstcase 41.226 ms/op 26.567 ms/op 1.55
phase0 processRegistryUpdates - 250000 normalcase 16.002 us/op 8.4010 us/op 1.90
phase0 processRegistryUpdates - 250000 badcase_full_deposits 530.96 us/op 302.42 us/op 1.76
phase0 processRegistryUpdates - 250000 worstcase 0.5 228.20 ms/op 125.93 ms/op 1.81
altair processRewardsAndPenalties - 250000 normalcase 111.49 ms/op 78.021 ms/op 1.43
altair processRewardsAndPenalties - 250000 worstcase 97.330 ms/op 72.192 ms/op 1.35
phase0 getAttestationDeltas - 250000 normalcase 11.419 ms/op 8.5491 ms/op 1.34
phase0 getAttestationDeltas - 250000 worstcase 13.143 ms/op 8.0903 ms/op 1.62
phase0 processSlashings - 250000 worstcase 6.4246 ms/op 4.5246 ms/op 1.42
altair processSyncCommitteeUpdates - 250000 332.42 ms/op 188.07 ms/op 1.77
BeaconState.hashTreeRoot - No change 488.00 ns/op 398.00 ns/op 1.23
BeaconState.hashTreeRoot - 1 full validator 110.68 us/op 54.982 us/op 2.01
BeaconState.hashTreeRoot - 32 full validator 837.49 us/op 518.96 us/op 1.61
BeaconState.hashTreeRoot - 512 full validator 11.807 ms/op 6.3928 ms/op 1.85
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 131.73 us/op 65.222 us/op 2.02
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.4560 ms/op 1.0596 ms/op 1.37
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 18.159 ms/op 12.931 ms/op 1.40
BeaconState.hashTreeRoot - 1 balances 94.536 us/op 53.698 us/op 1.76
BeaconState.hashTreeRoot - 32 balances 890.97 us/op 470.09 us/op 1.90
BeaconState.hashTreeRoot - 512 balances 7.6133 ms/op 4.7968 ms/op 1.59
BeaconState.hashTreeRoot - 250000 balances 130.48 ms/op 80.012 ms/op 1.63
aggregationBits - 2048 els - zipIndexesInBitList 34.086 us/op 21.451 us/op 1.59
regular array get 100000 times 57.224 us/op 43.013 us/op 1.33
wrappedArray get 100000 times 79.052 us/op 45.812 us/op 1.73
arrayWithProxy get 100000 times 27.137 ms/op 17.419 ms/op 1.56
ssz.Root.equals 955.00 ns/op 630.00 ns/op 1.52
byteArrayEquals 1.0560 us/op 620.00 ns/op 1.70
shuffle list - 16384 els 10.316 ms/op 7.4167 ms/op 1.39
shuffle list - 250000 els 185.29 ms/op 104.79 ms/op 1.77
processSlot - 1 slots 16.625 us/op 10.299 us/op 1.61
processSlot - 32 slots 2.1231 ms/op 1.5076 ms/op 1.41
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 51.621 ms/op 36.396 ms/op 1.42
getCommitteeAssignments - req 1 vs - 250000 vc 4.1494 ms/op 3.0371 ms/op 1.37
getCommitteeAssignments - req 100 vs - 250000 vc 5.8994 ms/op 4.4748 ms/op 1.32
getCommitteeAssignments - req 1000 vs - 250000 vc 5.9641 ms/op 4.8394 ms/op 1.23
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 8.1100 ns/op 5.4100 ns/op 1.50
state getBlockRootAtSlot - 250000 vs - 7PWei 939.31 ns/op 662.59 ns/op 1.42
computeProposers - vc 250000 15.997 ms/op 12.016 ms/op 1.33
computeEpochShuffling - vc 250000 137.84 ms/op 111.73 ms/op 1.23
getNextSyncCommittee - vc 250000 295.75 ms/op 186.06 ms/op 1.59
computeSigningRoot for AttestationData 21.014 us/op 13.994 us/op 1.50
hash AttestationData serialized data then Buffer.toString(base64) 3.4915 us/op 2.5711 us/op 1.36
toHexString serialized data 2.3191 us/op 1.1069 us/op 2.10
Buffer.toString(base64) 493.07 ns/op 340.61 ns/op 1.45

by benchmarkbot/action

@nazarhussain
nazarhussain marked this pull request as ready for review April 17, 2023 16:49
@nazarhussain
nazarhussain requested a review from a team as a code owner April 17, 2023 16:49
@wemeetagain

Copy link
Copy Markdown
Member

馃帀 This PR is included in v1.8.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.

2 participants