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 wtfnode #4156

Merged
merged 2 commits into from
Jun 14, 2022
Merged

Remove wtfnode #4156

merged 2 commits into from
Jun 14, 2022

Conversation

dapplion
Copy link
Contributor

Motivation

Not a good idea to bundle this capability in production deployments. This tool can be added in specific debugging situations if needed. We haven't need this for +1y tho.

Description

Remove wtfnode dependency and route that imports it

@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 8ef9de8 Previous: ceba4a9 Ratio
altair processAttestation - 250000 vs - 7PWei normalcase 3.2873 ms/op 3.0916 ms/op 1.06
altair processAttestation - 250000 vs - 7PWei worstcase 5.1231 ms/op 5.2559 ms/op 0.97
altair processAttestation - setStatus - 1/6 committees join 172.64 us/op 191.93 us/op 0.90
altair processAttestation - setStatus - 1/3 committees join 339.79 us/op 380.88 us/op 0.89
altair processAttestation - setStatus - 1/2 committees join 491.66 us/op 473.13 us/op 1.04
altair processAttestation - setStatus - 2/3 committees join 651.30 us/op 601.37 us/op 1.08
altair processAttestation - setStatus - 4/5 committees join 917.06 us/op 934.72 us/op 0.98
altair processAttestation - setStatus - 100% committees join 1.0970 ms/op 1.1165 ms/op 0.98
altair processBlock - 250000 vs - 7PWei normalcase 25.638 ms/op 22.420 ms/op 1.14
altair processBlock - 250000 vs - 7PWei normalcase hashState 32.039 ms/op 30.556 ms/op 1.05
altair processBlock - 250000 vs - 7PWei worstcase 79.095 ms/op 67.976 ms/op 1.16
altair processBlock - 250000 vs - 7PWei worstcase hashState 108.24 ms/op 91.499 ms/op 1.18
phase0 processBlock - 250000 vs - 7PWei normalcase 3.3141 ms/op 2.8572 ms/op 1.16
phase0 processBlock - 250000 vs - 7PWei worstcase 50.866 ms/op 38.039 ms/op 1.34
altair processEth1Data - 250000 vs - 7PWei normalcase 622.60 us/op 580.43 us/op 1.07
Tree 40 250000 create 712.72 ms/op 695.63 ms/op 1.02
Tree 40 250000 get(125000) 265.07 ns/op 241.69 ns/op 1.10
Tree 40 250000 set(125000) 2.0939 us/op 2.0710 us/op 1.01
Tree 40 250000 toArray() 27.590 ms/op 26.968 ms/op 1.02
Tree 40 250000 iterate all - toArray() + loop 27.596 ms/op 29.162 ms/op 0.95
Tree 40 250000 iterate all - get(i) 114.48 ms/op 107.09 ms/op 1.07
MutableVector 250000 create 12.813 ms/op 13.104 ms/op 0.98
MutableVector 250000 get(125000) 10.891 ns/op 13.079 ns/op 0.83
MutableVector 250000 set(125000) 521.93 ns/op 524.20 ns/op 1.00
MutableVector 250000 toArray() 5.9658 ms/op 6.1630 ms/op 0.97
MutableVector 250000 iterate all - toArray() + loop 6.0148 ms/op 6.4086 ms/op 0.94
MutableVector 250000 iterate all - get(i) 2.6616 ms/op 3.4377 ms/op 0.77
Array 250000 create 5.9489 ms/op 5.3137 ms/op 1.12
Array 250000 clone - spread 2.9498 ms/op 3.3136 ms/op 0.89
Array 250000 get(125000) 1.5000 ns/op 1.4560 ns/op 1.03
Array 250000 set(125000) 1.4950 ns/op 1.4580 ns/op 1.03
Array 250000 iterate all - loop 151.00 us/op 167.78 us/op 0.90
effectiveBalanceIncrements clone Uint8Array 300000 118.00 us/op 72.403 us/op 1.63
effectiveBalanceIncrements clone MutableVector 300000 711.00 ns/op 1.0580 us/op 0.67
effectiveBalanceIncrements rw all Uint8Array 300000 247.30 us/op 252.23 us/op 0.98
effectiveBalanceIncrements rw all MutableVector 300000 134.08 ms/op 183.48 ms/op 0.73
phase0 afterProcessEpoch - 250000 vs - 7PWei 185.36 ms/op 179.56 ms/op 1.03
phase0 beforeProcessEpoch - 250000 vs - 7PWei 56.994 ms/op 64.944 ms/op 0.88
altair processEpoch - mainnet_e81889 533.94 ms/op 517.93 ms/op 1.03
mainnet_e81889 - altair beforeProcessEpoch 139.07 ms/op 123.04 ms/op 1.13
mainnet_e81889 - altair processJustificationAndFinalization 16.113 us/op 32.997 us/op 0.49
mainnet_e81889 - altair processInactivityUpdates 9.5863 ms/op 10.418 ms/op 0.92
mainnet_e81889 - altair processRewardsAndPenalties 109.75 ms/op 122.84 ms/op 0.89
mainnet_e81889 - altair processRegistryUpdates 2.5160 us/op 5.8940 us/op 0.43
mainnet_e81889 - altair processSlashings 665.00 ns/op 1.5480 us/op 0.43
mainnet_e81889 - altair processEth1DataReset 655.00 ns/op 1.0780 us/op 0.61
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.9708 ms/op 2.5861 ms/op 0.76
mainnet_e81889 - altair processSlashingsReset 4.7760 us/op 8.1870 us/op 0.58
mainnet_e81889 - altair processRandaoMixesReset 4.1430 us/op 6.7090 us/op 0.62
mainnet_e81889 - altair processHistoricalRootsUpdate 594.00 ns/op 816.00 ns/op 0.73
mainnet_e81889 - altair processParticipationFlagUpdates 2.5740 us/op 4.8470 us/op 0.53
mainnet_e81889 - altair processSyncCommitteeUpdates 538.00 ns/op 1.4530 us/op 0.37
mainnet_e81889 - altair afterProcessEpoch 196.88 ms/op 178.92 ms/op 1.10
phase0 processEpoch - mainnet_e58758 469.91 ms/op 465.88 ms/op 1.01
mainnet_e58758 - phase0 beforeProcessEpoch 174.75 ms/op 200.23 ms/op 0.87
mainnet_e58758 - phase0 processJustificationAndFinalization 16.272 us/op 34.120 us/op 0.48
mainnet_e58758 - phase0 processRewardsAndPenalties 96.336 ms/op 118.22 ms/op 0.81
mainnet_e58758 - phase0 processRegistryUpdates 7.4270 us/op 17.529 us/op 0.42
mainnet_e58758 - phase0 processSlashings 579.00 ns/op 1.3740 us/op 0.42
mainnet_e58758 - phase0 processEth1DataReset 561.00 ns/op 1.1360 us/op 0.49
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.0191 ms/op 2.1613 ms/op 0.93
mainnet_e58758 - phase0 processSlashingsReset 3.9480 us/op 7.8210 us/op 0.50
mainnet_e58758 - phase0 processRandaoMixesReset 4.2740 us/op 10.703 us/op 0.40
mainnet_e58758 - phase0 processHistoricalRootsUpdate 603.00 ns/op 1.2520 us/op 0.48
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.3810 us/op 8.4520 us/op 0.40
mainnet_e58758 - phase0 afterProcessEpoch 162.58 ms/op 146.71 ms/op 1.11
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.9629 ms/op 2.7448 ms/op 0.72
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 2.1502 ms/op 2.9551 ms/op 0.73
altair processInactivityUpdates - 250000 normalcase 21.668 ms/op 29.418 ms/op 0.74
altair processInactivityUpdates - 250000 worstcase 31.657 ms/op 36.479 ms/op 0.87
phase0 processRegistryUpdates - 250000 normalcase 6.0610 us/op 7.7550 us/op 0.78
phase0 processRegistryUpdates - 250000 badcase_full_deposits 372.50 us/op 657.39 us/op 0.57
phase0 processRegistryUpdates - 250000 worstcase 0.5 173.30 ms/op 195.03 ms/op 0.89
altair processRewardsAndPenalties - 250000 normalcase 117.84 ms/op 110.22 ms/op 1.07
altair processRewardsAndPenalties - 250000 worstcase 68.186 ms/op 100.78 ms/op 0.68
phase0 getAttestationDeltas - 250000 normalcase 12.642 ms/op 11.594 ms/op 1.09
phase0 getAttestationDeltas - 250000 worstcase 12.664 ms/op 11.137 ms/op 1.14
phase0 processSlashings - 250000 worstcase 5.0742 ms/op 4.6646 ms/op 1.09
altair processSyncCommitteeUpdates - 250000 298.88 ms/op 242.68 ms/op 1.23
BeaconState.hashTreeRoot - No change 667.00 ns/op 467.00 ns/op 1.43
BeaconState.hashTreeRoot - 1 full validator 73.920 us/op 54.588 us/op 1.35
BeaconState.hashTreeRoot - 32 full validator 748.85 us/op 569.68 us/op 1.31
BeaconState.hashTreeRoot - 512 full validator 8.3599 ms/op 6.2710 ms/op 1.33
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 90.560 us/op 71.421 us/op 1.27
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 1.3420 ms/op 998.56 us/op 1.34
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 17.509 ms/op 15.861 ms/op 1.10
BeaconState.hashTreeRoot - 1 balances 69.917 us/op 56.130 us/op 1.25
BeaconState.hashTreeRoot - 32 balances 561.32 us/op 477.44 us/op 1.18
BeaconState.hashTreeRoot - 512 balances 5.7819 ms/op 4.5498 ms/op 1.27
BeaconState.hashTreeRoot - 250000 balances 98.416 ms/op 79.943 ms/op 1.23
aggregationBits - 2048 els - zipIndexesInBitList 30.358 us/op 30.659 us/op 0.99
regular array get 100000 times 62.647 us/op 57.359 us/op 1.09
wrappedArray get 100000 times 70.601 us/op 57.848 us/op 1.22
arrayWithProxy get 100000 times 28.879 ms/op 26.446 ms/op 1.09
ssz.Root.equals 603.00 ns/op 410.00 ns/op 1.47
byteArrayEquals 591.00 ns/op 406.00 ns/op 1.46
shuffle list - 16384 els 11.518 ms/op 11.054 ms/op 1.04
shuffle list - 250000 els 167.30 ms/op 163.35 ms/op 1.02
processSlot - 1 slots 13.888 us/op 11.530 us/op 1.20
processSlot - 32 slots 1.9548 ms/op 1.6677 ms/op 1.17
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 375.93 us/op 307.00 us/op 1.22
getCommitteeAssignments - req 1 vs - 250000 vc 5.3878 ms/op 4.5389 ms/op 1.19
getCommitteeAssignments - req 100 vs - 250000 vc 7.8255 ms/op 6.2529 ms/op 1.25
getCommitteeAssignments - req 1000 vs - 250000 vc 8.4149 ms/op 7.7905 ms/op 1.08
computeProposers - vc 250000 17.532 ms/op 14.169 ms/op 1.24
computeEpochShuffling - vc 250000 169.44 ms/op 141.19 ms/op 1.20
getNextSyncCommittee - vc 250000 296.37 ms/op 228.39 ms/op 1.30
pass gossip attestations to forkchoice per slot 5.2748 ms/op 2.7355 ms/op 1.93
computeDeltas 3.2354 ms/op 3.0554 ms/op 1.06
computeProposerBoostScoreFromBalances 823.10 us/op 775.98 us/op 1.06
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.7857 ms/op 1.7789 ms/op 1.00
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 68.401 us/op 63.205 us/op 1.08
BLS verify - blst-native 2.1672 ms/op 1.5910 ms/op 1.36
BLS verifyMultipleSignatures 3 - blst-native 4.4717 ms/op 3.2431 ms/op 1.38
BLS verifyMultipleSignatures 8 - blst-native 9.6693 ms/op 6.9144 ms/op 1.40
BLS verifyMultipleSignatures 32 - blst-native 35.167 ms/op 25.372 ms/op 1.39
BLS aggregatePubkeys 32 - blst-native 46.898 us/op 33.774 us/op 1.39
BLS aggregatePubkeys 128 - blst-native 182.66 us/op 129.02 us/op 1.42
getAttestationsForBlock 52.859 ms/op 56.152 ms/op 0.94
isKnown best case - 1 super set check 501.00 ns/op 385.00 ns/op 1.30
isKnown normal case - 2 super set checks 503.00 ns/op 380.00 ns/op 1.32
isKnown worse case - 16 super set checks 489.00 ns/op 370.00 ns/op 1.32
CheckpointStateCache - add get delete 10.402 us/op 10.115 us/op 1.03
validate gossip signedAggregateAndProof - struct 5.0028 ms/op 4.2442 ms/op 1.18
validate gossip attestation - struct 2.3614 ms/op 2.0295 ms/op 1.16
altair verifyImport mainnet_s3766816:31 6.8251 s/op 5.7182 s/op 1.19
pickEth1Vote - no votes 2.0412 ms/op 1.7683 ms/op 1.15
pickEth1Vote - max votes 19.886 ms/op 19.924 ms/op 1.00
pickEth1Vote - Eth1Data hashTreeRoot value x2048 12.776 ms/op 9.7416 ms/op 1.31
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 19.732 ms/op 17.221 ms/op 1.15
pickEth1Vote - Eth1Data fastSerialize value x2048 1.4008 ms/op 1.2633 ms/op 1.11
pickEth1Vote - Eth1Data fastSerialize tree x2048 14.958 ms/op 15.779 ms/op 0.95
bytes32 toHexString 1.0050 us/op 998.00 ns/op 1.01
bytes32 Buffer.toString(hex) 759.00 ns/op 653.00 ns/op 1.16
bytes32 Buffer.toString(hex) from Uint8Array 997.00 ns/op 884.00 ns/op 1.13
bytes32 Buffer.toString(hex) + 0x 757.00 ns/op 660.00 ns/op 1.15
Object access 1 prop 0.40500 ns/op 0.33000 ns/op 1.23
Map access 1 prop 0.35900 ns/op 0.31000 ns/op 1.16
Object get x1000 11.697 ns/op 17.921 ns/op 0.65
Map get x1000 1.0500 ns/op 0.99800 ns/op 1.05
Object set x1000 66.344 ns/op 110.64 ns/op 0.60
Map set x1000 45.601 ns/op 69.207 ns/op 0.66
Return object 10000 times 0.44040 ns/op 0.37540 ns/op 1.17
Throw Error 10000 times 5.8924 us/op 5.9598 us/op 0.99
enrSubnets - fastDeserialize 64 bits 2.5450 us/op 2.4710 us/op 1.03
enrSubnets - ssz BitVector 64 bits 817.00 ns/op 703.00 ns/op 1.16
enrSubnets - fastDeserialize 4 bits 429.00 ns/op 360.00 ns/op 1.19
enrSubnets - ssz BitVector 4 bits 824.00 ns/op 702.00 ns/op 1.17
prioritizePeers score -10:0 att 32-0.1 sync 2-0 80.339 us/op 87.557 us/op 0.92
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 115.13 us/op 130.68 us/op 0.88
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 188.69 us/op 203.07 us/op 0.93
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 367.96 us/op 385.02 us/op 0.96
prioritizePeers score 0:0 att 64-1 sync 4-1 404.48 us/op 457.32 us/op 0.88
RateTracker 1000000 limit, 1 obj count per request 185.44 ns/op 186.64 ns/op 0.99
RateTracker 1000000 limit, 2 obj count per request 133.64 ns/op 142.37 ns/op 0.94
RateTracker 1000000 limit, 4 obj count per request 108.43 ns/op 120.81 ns/op 0.90
RateTracker 1000000 limit, 8 obj count per request 94.789 ns/op 110.41 ns/op 0.86
RateTracker with prune 3.7870 us/op 4.0960 us/op 0.92
array of 16000 items push then shift 51.702 us/op 3.1874 us/op 16.22
LinkedList of 16000 items push then shift 15.896 ns/op 21.780 ns/op 0.73
array of 16000 items push then pop 205.60 ns/op 205.83 ns/op 1.00
LinkedList of 16000 items push then pop 13.787 ns/op 18.063 ns/op 0.76
array of 24000 items push then shift 77.339 us/op 3.8993 us/op 19.83
LinkedList of 24000 items push then shift 19.850 ns/op 20.134 ns/op 0.99
array of 24000 items push then pop 184.91 ns/op 169.14 ns/op 1.09
LinkedList of 24000 items push then pop 15.550 ns/op 19.818 ns/op 0.78
intersect bitArray bitLen 8 10.964 ns/op 11.546 ns/op 0.95
intersect array and set length 8 130.15 ns/op 156.91 ns/op 0.83
intersect bitArray bitLen 128 55.568 ns/op 71.978 ns/op 0.77
intersect array and set length 128 1.7206 us/op 2.1397 us/op 0.80

by benchmarkbot/action

@wemeetagain wemeetagain merged commit 04155c6 into unstable Jun 14, 2022
@wemeetagain wemeetagain deleted the dapplion/remove-wtfnode branch June 14, 2022 13:50
twoeths added a commit that referenced this pull request Aug 5, 2022
twoeths added a commit that referenced this pull request Jan 5, 2023
twoeths added a commit that referenced this pull request Jan 5, 2023
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.

3 participants