Skip to content

Commit

Permalink
fix: gossipsub pre_validation metrics (#6562)
Browse files Browse the repository at this point in the history
  • Loading branch information
twoeths committed Mar 19, 2024
1 parent e840ea0 commit f9676f1
Showing 1 changed file with 35 additions and 6 deletions.
41 changes: 35 additions & 6 deletions dashboards/lodestar_debug_gossipsub.json
Original file line number Diff line number Diff line change
Expand Up @@ -1150,6 +1150,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -1233,6 +1234,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -1315,6 +1317,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -1408,6 +1411,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -1517,6 +1521,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -1596,6 +1601,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -1677,6 +1683,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -1773,6 +1780,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -1988,6 +1996,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -2069,6 +2078,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand All @@ -2085,7 +2095,8 @@
"mode": "off"
}
},
"mappings": []
"mappings": [],
"unit": "percentunit"
},
"overrides": []
},
Expand Down Expand Up @@ -2116,7 +2127,7 @@
},
"editorMode": "code",
"exemplar": false,
"expr": "(sum(rate(gossipsub_msg_received_status_total{status=\"duplicate\",topic!~\"light.*\"} [32m])) by (topic))\n/\n(sum(rate(gossipsub_msg_received_status_total{status=\"valid\",topic!~\"light.*\"} [32m])) by (topic))",
"expr": "(sum(rate(gossipsub_pre_validation_duplicate_total{topic!~\"light.*\"} [32m])) by (topic))\n/\n(sum(rate(gossipsub_msg_received_prevalidation_total{topic!~\"light.*\"} [32m])) by (topic))",
"interval": "",
"legendFormat": "{{topic}} {{status}}",
"range": true,
Expand Down Expand Up @@ -2150,6 +2161,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -2197,10 +2209,12 @@
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"exemplar": false,
"expr": "rate(gossipsub_msg_received_status_total{status=\"valid\"} [$rate_interval])",
"expr": "rate(gossipsub_pre_validation_valid_total [$rate_interval])",
"interval": "",
"legendFormat": "{{topic}}",
"range": true,
"refId": "A"
}
],
Expand Down Expand Up @@ -2231,6 +2245,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -2278,10 +2293,12 @@
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"exemplar": false,
"expr": "(sum(rate(gossipsub_msg_received_prevalidation_total [32m])) by (topic))\n/\n(sum(rate(gossipsub_msg_received_status_total{status=\"valid\"} [32m])) by (topic))",
"expr": "(sum(rate(gossipsub_msg_received_prevalidation_total [32m])) by (topic))\n/\n(sum(rate(gossipsub_pre_validation_valid_total [32m])) by (topic))",
"interval": "",
"legendFormat": "{{topic}}",
"range": true,
"refId": "A"
}
],
Expand Down Expand Up @@ -2312,6 +2329,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -2359,10 +2377,12 @@
"type": "prometheus",
"uid": "${DS_PROMETHEUS}"
},
"editorMode": "code",
"exemplar": false,
"expr": "rate(gossipsub_msg_received_invalid_total[$rate_interval])",
"expr": "rate(gossipsub_pre_validation_invalid_total[$rate_interval])",
"interval": "",
"legendFormat": "{{topic}}",
"range": true,
"refId": "A"
}
],
Expand Down Expand Up @@ -2393,6 +2413,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -2475,6 +2496,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -2584,6 +2606,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -2683,7 +2706,7 @@
"content": "<center><strong>\nPublish / Forwarded messages\n</strong>\n</center>",
"mode": "html"
},
"pluginVersion": "9.3.2",
"pluginVersion": "10.1.1",
"type": "text"
},
{
Expand All @@ -2710,6 +2733,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -2789,6 +2813,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -2869,6 +2894,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -2950,6 +2976,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -3030,6 +3057,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down Expand Up @@ -3110,6 +3138,7 @@
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
Expand Down

1 comment on commit f9676f1

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Performance Alert ⚠️

Possible performance regression was detected for some benchmarks.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold.

Benchmark suite Current: f9676f1 Previous: e840ea0 Ratio
altair processEth1Data - 250000 vs - 7PWei normalcase 4.3122 ms/op 866.83 us/op 4.97
Full benchmark results
Benchmark suite Current: f9676f1 Previous: e840ea0 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 1.4899 ms/op 675.97 us/op 2.20
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 140.63 us/op 146.09 us/op 0.96
BLS verify - blst-native 1.7309 ms/op 1.4865 ms/op 1.16
BLS verifyMultipleSignatures 3 - blst-native 3.6474 ms/op 3.5509 ms/op 1.03
BLS verifyMultipleSignatures 8 - blst-native 8.0317 ms/op 7.0712 ms/op 1.14
BLS verifyMultipleSignatures 32 - blst-native 29.456 ms/op 27.119 ms/op 1.09
BLS verifyMultipleSignatures 64 - blst-native 59.252 ms/op 49.296 ms/op 1.20
BLS verifyMultipleSignatures 128 - blst-native 115.16 ms/op 119.99 ms/op 0.96
BLS deserializing 10000 signatures 1.2015 s/op 1.0595 s/op 1.13
BLS deserializing 100000 signatures 11.709 s/op 9.9573 s/op 1.18
BLS verifyMultipleSignatures - same message - 3 - blst-native 1.7681 ms/op 1.5742 ms/op 1.12
BLS verifyMultipleSignatures - same message - 8 - blst-native 2.0264 ms/op 1.7211 ms/op 1.18
BLS verifyMultipleSignatures - same message - 32 - blst-native 3.0875 ms/op 2.6327 ms/op 1.17
BLS verifyMultipleSignatures - same message - 64 - blst-native 4.5769 ms/op 3.8282 ms/op 1.20
BLS verifyMultipleSignatures - same message - 128 - blst-native 7.5243 ms/op 6.5426 ms/op 1.15
BLS aggregatePubkeys 32 - blst-native 34.165 us/op 29.366 us/op 1.16
BLS aggregatePubkeys 128 - blst-native 131.94 us/op 110.89 us/op 1.19
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 76.899 ms/op 86.506 ms/op 0.89
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 79.018 ms/op 79.836 ms/op 0.99
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 56.336 ms/op 63.903 ms/op 0.88
getSlashingsAndExits - default max 299.60 us/op 336.44 us/op 0.89
getSlashingsAndExits - 2k 654.09 us/op 708.66 us/op 0.92
proposeBlockBody type=full, size=empty 7.5623 ms/op 8.0713 ms/op 0.94
isKnown best case - 1 super set check 739.00 ns/op 689.00 ns/op 1.07
isKnown normal case - 2 super set checks 733.00 ns/op 707.00 ns/op 1.04
isKnown worse case - 16 super set checks 733.00 ns/op 710.00 ns/op 1.03
CheckpointStateCache - add get delete 9.7150 us/op 8.2800 us/op 1.17
validate api signedAggregateAndProof - struct 3.7074 ms/op 3.0693 ms/op 1.21
validate gossip signedAggregateAndProof - struct 3.7124 ms/op 3.3025 ms/op 1.12
validate gossip attestation - vc 640000 1.8160 ms/op 1.5606 ms/op 1.16
batch validate gossip attestation - vc 640000 - chunk 32 233.50 us/op 210.31 us/op 1.11
batch validate gossip attestation - vc 640000 - chunk 64 204.04 us/op 186.19 us/op 1.10
batch validate gossip attestation - vc 640000 - chunk 128 206.64 us/op 168.63 us/op 1.23
batch validate gossip attestation - vc 640000 - chunk 256 182.84 us/op 148.94 us/op 1.23
pickEth1Vote - no votes 2.0266 ms/op 1.5482 ms/op 1.31
pickEth1Vote - max votes 17.502 ms/op 12.485 ms/op 1.40
pickEth1Vote - Eth1Data hashTreeRoot value x2048 32.731 ms/op 20.224 ms/op 1.62
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 48.459 ms/op 27.504 ms/op 1.76
pickEth1Vote - Eth1Data fastSerialize value x2048 1.2011 ms/op 775.46 us/op 1.55
pickEth1Vote - Eth1Data fastSerialize tree x2048 11.866 ms/op 5.3884 ms/op 2.20
bytes32 toHexString 985.00 ns/op 649.00 ns/op 1.52
bytes32 Buffer.toString(hex) 525.00 ns/op 340.00 ns/op 1.54
bytes32 Buffer.toString(hex) from Uint8Array 820.00 ns/op 558.00 ns/op 1.47
bytes32 Buffer.toString(hex) + 0x 535.00 ns/op 332.00 ns/op 1.61
Object access 1 prop 0.29100 ns/op 0.22500 ns/op 1.29
Map access 1 prop 0.22800 ns/op 0.16800 ns/op 1.36
Object get x1000 11.448 ns/op 8.4450 ns/op 1.36
Map get x1000 1.1510 ns/op 0.94700 ns/op 1.22
Object set x1000 91.412 ns/op 74.935 ns/op 1.22
Map set x1000 67.706 ns/op 55.839 ns/op 1.21
Return object 10000 times 0.33380 ns/op 0.27380 ns/op 1.22
Throw Error 10000 times 6.3300 us/op 4.3656 us/op 1.45
fastMsgIdFn sha256 / 200 bytes 4.7840 us/op 3.8480 us/op 1.24
fastMsgIdFn h32 xxhash / 200 bytes 483.00 ns/op 373.00 ns/op 1.29
fastMsgIdFn h64 xxhash / 200 bytes 579.00 ns/op 422.00 ns/op 1.37
fastMsgIdFn sha256 / 1000 bytes 15.816 us/op 12.630 us/op 1.25
fastMsgIdFn h32 xxhash / 1000 bytes 609.00 ns/op 518.00 ns/op 1.18
fastMsgIdFn h64 xxhash / 1000 bytes 649.00 ns/op 519.00 ns/op 1.25
fastMsgIdFn sha256 / 10000 bytes 140.14 us/op 115.46 us/op 1.21
fastMsgIdFn h32 xxhash / 10000 bytes 2.1380 us/op 2.2540 us/op 0.95
fastMsgIdFn h64 xxhash / 10000 bytes 1.4830 us/op 1.4660 us/op 1.01
send data - 1000 256B messages 29.949 ms/op 24.311 ms/op 1.23
send data - 1000 512B messages 38.473 ms/op 26.947 ms/op 1.43
send data - 1000 1024B messages 58.660 ms/op 48.477 ms/op 1.21
send data - 1000 1200B messages 65.198 ms/op 45.135 ms/op 1.44
send data - 1000 2048B messages 77.593 ms/op 58.508 ms/op 1.33
send data - 1000 4096B messages 48.421 ms/op 50.055 ms/op 0.97
send data - 1000 16384B messages 185.13 ms/op 135.06 ms/op 1.37
send data - 1000 65536B messages 755.93 ms/op 511.16 ms/op 1.48
enrSubnets - fastDeserialize 64 bits 2.5110 us/op 1.6940 us/op 1.48
enrSubnets - ssz BitVector 64 bits 837.00 ns/op 617.00 ns/op 1.36
enrSubnets - fastDeserialize 4 bits 326.00 ns/op 277.00 ns/op 1.18
enrSubnets - ssz BitVector 4 bits 799.00 ns/op 661.00 ns/op 1.21
prioritizePeers score -10:0 att 32-0.1 sync 2-0 164.00 us/op 164.58 us/op 1.00
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 201.24 us/op 198.71 us/op 1.01
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 283.53 us/op 259.76 us/op 1.09
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 469.28 us/op 509.37 us/op 0.92
prioritizePeers score 0:0 att 64-1 sync 4-1 504.66 us/op 630.20 us/op 0.80
array of 16000 items push then shift 2.3257 us/op 1.9403 us/op 1.20
LinkedList of 16000 items push then shift 10.947 ns/op 13.833 ns/op 0.79
array of 16000 items push then pop 153.47 ns/op 181.76 ns/op 0.84
LinkedList of 16000 items push then pop 11.258 ns/op 13.879 ns/op 0.81
array of 24000 items push then shift 3.4082 us/op 3.3008 us/op 1.03
LinkedList of 24000 items push then shift 10.944 ns/op 16.600 ns/op 0.66
array of 24000 items push then pop 202.40 ns/op 252.01 ns/op 0.80
LinkedList of 24000 items push then pop 10.785 ns/op 11.585 ns/op 0.93
intersect bitArray bitLen 8 8.6490 ns/op 7.0190 ns/op 1.23
intersect array and set length 8 124.99 ns/op 124.97 ns/op 1.00
intersect bitArray bitLen 128 49.338 ns/op 69.506 ns/op 0.71
intersect array and set length 128 1.4815 us/op 1.3294 us/op 1.11
bitArray.getTrueBitIndexes() bitLen 128 2.3830 us/op 2.8340 us/op 0.84
bitArray.getTrueBitIndexes() bitLen 248 4.0020 us/op 4.9640 us/op 0.81
bitArray.getTrueBitIndexes() bitLen 512 8.0910 us/op 9.2270 us/op 0.88
Buffer.concat 32 items 1.7910 us/op 1.4180 us/op 1.26
Uint8Array.set 32 items 2.7150 us/op 2.8550 us/op 0.95
Set add up to 64 items then delete first 6.0469 us/op 6.1391 us/op 0.98
OrderedSet add up to 64 items then delete first 8.1440 us/op 8.6880 us/op 0.94
Set add up to 64 items then delete last 6.6224 us/op 7.0903 us/op 0.93
OrderedSet add up to 64 items then delete last 8.9036 us/op 8.8774 us/op 1.00
Set add up to 64 items then delete middle 6.4994 us/op 6.2942 us/op 1.03
OrderedSet add up to 64 items then delete middle 10.467 us/op 9.6866 us/op 1.08
Set add up to 128 items then delete first 13.318 us/op 12.472 us/op 1.07
OrderedSet add up to 128 items then delete first 18.604 us/op 18.515 us/op 1.00
Set add up to 128 items then delete last 13.107 us/op 12.260 us/op 1.07
OrderedSet add up to 128 items then delete last 17.720 us/op 16.507 us/op 1.07
Set add up to 128 items then delete middle 13.262 us/op 12.029 us/op 1.10
OrderedSet add up to 128 items then delete middle 25.476 us/op 22.175 us/op 1.15
Set add up to 256 items then delete first 27.214 us/op 23.894 us/op 1.14
OrderedSet add up to 256 items then delete first 38.380 us/op 35.128 us/op 1.09
Set add up to 256 items then delete last 26.543 us/op 24.629 us/op 1.08
OrderedSet add up to 256 items then delete last 36.517 us/op 33.416 us/op 1.09
Set add up to 256 items then delete middle 26.717 us/op 26.034 us/op 1.03
OrderedSet add up to 256 items then delete middle 68.477 us/op 62.749 us/op 1.09
transfer serialized Status (84 B) 3.0150 us/op 2.4880 us/op 1.21
copy serialized Status (84 B) 2.2860 us/op 1.8060 us/op 1.27
transfer serialized SignedVoluntaryExit (112 B) 3.2090 us/op 2.6170 us/op 1.23
copy serialized SignedVoluntaryExit (112 B) 2.3450 us/op 1.7470 us/op 1.34
transfer serialized ProposerSlashing (416 B) 3.6730 us/op 3.2430 us/op 1.13
copy serialized ProposerSlashing (416 B) 3.7790 us/op 2.7550 us/op 1.37
transfer serialized Attestation (485 B) 4.8540 us/op 3.3640 us/op 1.44
copy serialized Attestation (485 B) 4.5810 us/op 3.0640 us/op 1.50
transfer serialized AttesterSlashing (33232 B) 4.7060 us/op 3.4270 us/op 1.37
copy serialized AttesterSlashing (33232 B) 12.905 us/op 8.5040 us/op 1.52
transfer serialized Small SignedBeaconBlock (128000 B) 4.6140 us/op 3.3250 us/op 1.39
copy serialized Small SignedBeaconBlock (128000 B) 34.541 us/op 22.564 us/op 1.53
transfer serialized Avg SignedBeaconBlock (200000 B) 5.2430 us/op 3.8560 us/op 1.36
copy serialized Avg SignedBeaconBlock (200000 B) 49.499 us/op 32.056 us/op 1.54
transfer serialized BlobsSidecar (524380 B) 5.6120 us/op 4.4950 us/op 1.25
copy serialized BlobsSidecar (524380 B) 125.09 us/op 237.91 us/op 0.53
transfer serialized Big SignedBeaconBlock (1000000 B) 6.6100 us/op 4.4520 us/op 1.48
copy serialized Big SignedBeaconBlock (1000000 B) 229.40 us/op 196.28 us/op 1.17
pass gossip attestations to forkchoice per slot 6.1082 ms/op 4.6734 ms/op 1.31
forkChoice updateHead vc 100000 bc 64 eq 0 904.09 us/op 900.39 us/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 0 7.3537 ms/op 6.2111 ms/op 1.18
forkChoice updateHead vc 1000000 bc 64 eq 0 9.3324 ms/op 8.6938 ms/op 1.07
forkChoice updateHead vc 600000 bc 320 eq 0 5.6187 ms/op 5.2938 ms/op 1.06
forkChoice updateHead vc 600000 bc 1200 eq 0 5.8381 ms/op 5.6730 ms/op 1.03
forkChoice updateHead vc 600000 bc 7200 eq 0 7.6788 ms/op 7.1034 ms/op 1.08
forkChoice updateHead vc 600000 bc 64 eq 1000 17.230 ms/op 13.504 ms/op 1.28
forkChoice updateHead vc 600000 bc 64 eq 10000 17.437 ms/op 17.151 ms/op 1.02
forkChoice updateHead vc 600000 bc 64 eq 300000 24.728 ms/op 25.672 ms/op 0.96
computeDeltas 500000 validators 300 proto nodes 8.9553 ms/op 8.1426 ms/op 1.10
computeDeltas 500000 validators 1200 proto nodes 9.2949 ms/op 7.7912 ms/op 1.19
computeDeltas 500000 validators 7200 proto nodes 9.0264 ms/op 7.5976 ms/op 1.19
computeDeltas 750000 validators 300 proto nodes 13.505 ms/op 10.957 ms/op 1.23
computeDeltas 750000 validators 1200 proto nodes 13.353 ms/op 10.709 ms/op 1.25
computeDeltas 750000 validators 7200 proto nodes 13.400 ms/op 10.624 ms/op 1.26
computeDeltas 1400000 validators 300 proto nodes 24.522 ms/op 21.728 ms/op 1.13
computeDeltas 1400000 validators 1200 proto nodes 25.644 ms/op 20.579 ms/op 1.25
computeDeltas 1400000 validators 7200 proto nodes 24.456 ms/op 21.716 ms/op 1.13
computeDeltas 2100000 validators 300 proto nodes 38.595 ms/op 35.248 ms/op 1.09
computeDeltas 2100000 validators 1200 proto nodes 39.240 ms/op 35.516 ms/op 1.10
computeDeltas 2100000 validators 7200 proto nodes 38.272 ms/op 33.218 ms/op 1.15
altair processAttestation - 250000 vs - 7PWei normalcase 3.7609 ms/op 4.3262 ms/op 0.87
altair processAttestation - 250000 vs - 7PWei worstcase 5.4933 ms/op 5.6205 ms/op 0.98
altair processAttestation - setStatus - 1/6 committees join 270.62 us/op 191.56 us/op 1.41
altair processAttestation - setStatus - 1/3 committees join 537.42 us/op 362.49 us/op 1.48
altair processAttestation - setStatus - 1/2 committees join 724.28 us/op 546.28 us/op 1.33
altair processAttestation - setStatus - 2/3 committees join 927.99 us/op 673.77 us/op 1.38
altair processAttestation - setStatus - 4/5 committees join 1.1855 ms/op 792.34 us/op 1.50
altair processAttestation - setStatus - 100% committees join 1.3576 ms/op 935.73 us/op 1.45
altair processBlock - 250000 vs - 7PWei normalcase 14.156 ms/op 12.137 ms/op 1.17
altair processBlock - 250000 vs - 7PWei normalcase hashState 46.842 ms/op 52.822 ms/op 0.89
altair processBlock - 250000 vs - 7PWei worstcase 56.581 ms/op 50.475 ms/op 1.12
altair processBlock - 250000 vs - 7PWei worstcase hashState 138.70 ms/op 123.76 ms/op 1.12
phase0 processBlock - 250000 vs - 7PWei normalcase 4.2721 ms/op 3.4234 ms/op 1.25
phase0 processBlock - 250000 vs - 7PWei worstcase 42.012 ms/op 37.864 ms/op 1.11
altair processEth1Data - 250000 vs - 7PWei normalcase 4.3122 ms/op 866.83 us/op 4.97
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 28.223 us/op 18.346 us/op 1.54
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 102.61 us/op 88.727 us/op 1.16
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 34.859 us/op 50.103 us/op 0.70
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 22.472 us/op 29.524 us/op 0.76
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 338.50 us/op 286.83 us/op 1.18
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 2.8814 ms/op 2.0444 ms/op 1.41
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 3.2737 ms/op 2.7970 ms/op 1.17
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 3.3222 ms/op 2.7607 ms/op 1.20
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 6.2993 ms/op 7.8261 ms/op 0.80
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 4.9465 ms/op 4.6310 ms/op 1.07
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 8.2016 ms/op 12.293 ms/op 0.67
Tree 40 250000 create 857.31 ms/op 822.00 ms/op 1.04
Tree 40 250000 get(125000) 318.97 ns/op 252.47 ns/op 1.26
Tree 40 250000 set(125000) 3.0290 us/op 2.7069 us/op 1.12
Tree 40 250000 toArray() 28.597 ms/op 27.493 ms/op 1.04
Tree 40 250000 iterate all - toArray() + loop 28.648 ms/op 28.166 ms/op 1.02
Tree 40 250000 iterate all - get(i) 110.66 ms/op 95.570 ms/op 1.16
MutableVector 250000 create 25.758 ms/op 27.743 ms/op 0.93
MutableVector 250000 get(125000) 9.7130 ns/op 8.4040 ns/op 1.16
MutableVector 250000 set(125000) 682.58 ns/op 652.17 ns/op 1.05
MutableVector 250000 toArray() 4.8961 ms/op 5.5028 ms/op 0.89
MutableVector 250000 iterate all - toArray() + loop 5.6930 ms/op 5.4164 ms/op 1.05
MutableVector 250000 iterate all - get(i) 2.4039 ms/op 1.8226 ms/op 1.32
Array 250000 create 4.8804 ms/op 4.7460 ms/op 1.03
Array 250000 clone - spread 3.0186 ms/op 1.8015 ms/op 1.68
Array 250000 get(125000) 2.0130 ns/op 2.0090 ns/op 1.00
Array 250000 set(125000) 4.8290 ns/op 6.0780 ns/op 0.79
Array 250000 iterate all - loop 225.73 us/op 208.03 us/op 1.09
effectiveBalanceIncrements clone Uint8Array 300000 72.262 us/op 54.636 us/op 1.32
effectiveBalanceIncrements clone MutableVector 300000 1.0550 us/op 476.00 ns/op 2.22
effectiveBalanceIncrements rw all Uint8Array 300000 300.81 us/op 239.03 us/op 1.26
effectiveBalanceIncrements rw all MutableVector 300000 215.06 ms/op 192.15 ms/op 1.12
phase0 afterProcessEpoch - 250000 vs - 7PWei 160.58 ms/op 143.18 ms/op 1.12
phase0 beforeProcessEpoch - 250000 vs - 7PWei 74.027 ms/op 67.939 ms/op 1.09
altair processEpoch - mainnet_e81889 740.81 ms/op 635.29 ms/op 1.17
mainnet_e81889 - altair beforeProcessEpoch 116.89 ms/op 110.69 ms/op 1.06
mainnet_e81889 - altair processJustificationAndFinalization 33.374 us/op 34.186 us/op 0.98
mainnet_e81889 - altair processInactivityUpdates 10.346 ms/op 10.547 ms/op 0.98
mainnet_e81889 - altair processRewardsAndPenalties 91.911 ms/op 73.632 ms/op 1.25
mainnet_e81889 - altair processRegistryUpdates 5.9580 us/op 5.1120 us/op 1.17
mainnet_e81889 - altair processSlashings 1.0240 us/op 1.5400 us/op 0.66
mainnet_e81889 - altair processEth1DataReset 1.5010 us/op 1.7330 us/op 0.87
mainnet_e81889 - altair processEffectiveBalanceUpdates 2.6398 ms/op 1.8448 ms/op 1.43
mainnet_e81889 - altair processSlashingsReset 8.6850 us/op 6.3520 us/op 1.37
mainnet_e81889 - altair processRandaoMixesReset 10.493 us/op 10.081 us/op 1.04
mainnet_e81889 - altair processHistoricalRootsUpdate 1.3860 us/op 1.6130 us/op 0.86
mainnet_e81889 - altair processParticipationFlagUpdates 4.3380 us/op 4.8620 us/op 0.89
mainnet_e81889 - altair processSyncCommitteeUpdates 1.4150 us/op 1.7260 us/op 0.82
mainnet_e81889 - altair afterProcessEpoch 171.18 ms/op 149.25 ms/op 1.15
capella processEpoch - mainnet_e217614 3.2047 s/op 2.8321 s/op 1.13
mainnet_e217614 - capella beforeProcessEpoch 744.72 ms/op 638.26 ms/op 1.17
mainnet_e217614 - capella processJustificationAndFinalization 31.329 us/op 22.169 us/op 1.41
mainnet_e217614 - capella processInactivityUpdates 27.756 ms/op 21.839 ms/op 1.27
mainnet_e217614 - capella processRewardsAndPenalties 821.96 ms/op 700.46 ms/op 1.17
mainnet_e217614 - capella processRegistryUpdates 47.506 us/op 50.972 us/op 0.93
mainnet_e217614 - capella processSlashings 1.5170 us/op 1.5250 us/op 0.99
mainnet_e217614 - capella processEth1DataReset 1.0690 us/op 1.1900 us/op 0.90
mainnet_e217614 - capella processEffectiveBalanceUpdates 7.5465 ms/op 5.9209 ms/op 1.27
mainnet_e217614 - capella processSlashingsReset 5.6780 us/op 11.080 us/op 0.51
mainnet_e217614 - capella processRandaoMixesReset 10.646 us/op 14.687 us/op 0.72
mainnet_e217614 - capella processHistoricalRootsUpdate 1.2500 us/op 1.8280 us/op 0.68
mainnet_e217614 - capella processParticipationFlagUpdates 3.6320 us/op 5.4100 us/op 0.67
mainnet_e217614 - capella afterProcessEpoch 527.18 ms/op 445.12 ms/op 1.18
phase0 processEpoch - mainnet_e58758 711.00 ms/op 739.95 ms/op 0.96
mainnet_e58758 - phase0 beforeProcessEpoch 235.91 ms/op 223.10 ms/op 1.06
mainnet_e58758 - phase0 processJustificationAndFinalization 38.247 us/op 40.720 us/op 0.94
mainnet_e58758 - phase0 processRewardsAndPenalties 78.943 ms/op 80.374 ms/op 0.98
mainnet_e58758 - phase0 processRegistryUpdates 21.427 us/op 20.778 us/op 1.03
mainnet_e58758 - phase0 processSlashings 1.2770 us/op 946.00 ns/op 1.35
mainnet_e58758 - phase0 processEth1DataReset 1.2420 us/op 1.0050 us/op 1.24
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 2.6001 ms/op 1.3492 ms/op 1.93
mainnet_e58758 - phase0 processSlashingsReset 7.2060 us/op 5.0740 us/op 1.42
mainnet_e58758 - phase0 processRandaoMixesReset 9.6340 us/op 8.3000 us/op 1.16
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.1990 us/op 1.1060 us/op 1.08
mainnet_e58758 - phase0 processParticipationRecordUpdates 9.0110 us/op 6.8320 us/op 1.32
mainnet_e58758 - phase0 afterProcessEpoch 141.88 ms/op 109.92 ms/op 1.29
phase0 processEffectiveBalanceUpdates - 250000 normalcase 3.0409 ms/op 1.4782 ms/op 2.06
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 3.0245 ms/op 1.6087 ms/op 1.88
altair processInactivityUpdates - 250000 normalcase 41.679 ms/op 36.622 ms/op 1.14
altair processInactivityUpdates - 250000 worstcase 47.210 ms/op 34.098 ms/op 1.38
phase0 processRegistryUpdates - 250000 normalcase 23.351 us/op 15.344 us/op 1.52
phase0 processRegistryUpdates - 250000 badcase_full_deposits 958.26 us/op 513.92 us/op 1.86
phase0 processRegistryUpdates - 250000 worstcase 0.5 243.16 ms/op 196.31 ms/op 1.24
altair processRewardsAndPenalties - 250000 normalcase 110.20 ms/op 90.435 ms/op 1.22
altair processRewardsAndPenalties - 250000 worstcase 115.68 ms/op 87.568 ms/op 1.32
phase0 getAttestationDeltas - 250000 normalcase 15.552 ms/op 14.736 ms/op 1.06
phase0 getAttestationDeltas - 250000 worstcase 15.657 ms/op 13.891 ms/op 1.13
phase0 processSlashings - 250000 worstcase 201.65 us/op 113.20 us/op 1.78
altair processSyncCommitteeUpdates - 250000 258.40 ms/op 187.70 ms/op 1.38
BeaconState.hashTreeRoot - No change 1.0220 us/op 791.00 ns/op 1.29
BeaconState.hashTreeRoot - 1 full validator 232.20 us/op 179.65 us/op 1.29
BeaconState.hashTreeRoot - 32 full validator 2.3868 ms/op 1.6831 ms/op 1.42
BeaconState.hashTreeRoot - 512 full validator 23.838 ms/op 18.318 ms/op 1.30
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 228.59 us/op 195.42 us/op 1.17
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 3.1884 ms/op 2.7075 ms/op 1.18
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 61.487 ms/op 35.175 ms/op 1.75
BeaconState.hashTreeRoot - 1 balances 181.33 us/op 160.90 us/op 1.13
BeaconState.hashTreeRoot - 32 balances 1.6054 ms/op 1.4473 ms/op 1.11
BeaconState.hashTreeRoot - 512 balances 16.107 ms/op 17.441 ms/op 0.92
BeaconState.hashTreeRoot - 250000 balances 303.28 ms/op 279.63 ms/op 1.08
aggregationBits - 2048 els - zipIndexesInBitList 51.158 us/op 46.089 us/op 1.11
byteArrayEquals 32 107.92 ns/op 83.909 ns/op 1.29
Buffer.compare 32 92.800 ns/op 66.911 ns/op 1.39
byteArrayEquals 1024 2.7927 us/op 2.3734 us/op 1.18
Buffer.compare 1024 93.983 ns/op 82.054 ns/op 1.15
byteArrayEquals 16384 44.605 us/op 40.271 us/op 1.11
Buffer.compare 16384 369.19 ns/op 300.40 ns/op 1.23
byteArrayEquals 123687377 335.46 ms/op 291.71 ms/op 1.15
Buffer.compare 123687377 10.121 ms/op 9.8322 ms/op 1.03
byteArrayEquals 32 - diff last byte 98.680 ns/op 95.149 ns/op 1.04
Buffer.compare 32 - diff last byte 89.630 ns/op 73.416 ns/op 1.22
byteArrayEquals 1024 - diff last byte 2.7854 us/op 2.7092 us/op 1.03
Buffer.compare 1024 - diff last byte 94.667 ns/op 93.871 ns/op 1.01
byteArrayEquals 16384 - diff last byte 44.528 us/op 43.313 us/op 1.03
Buffer.compare 16384 - diff last byte 359.23 ns/op 319.60 ns/op 1.12
byteArrayEquals 123687377 - diff last byte 337.37 ms/op 307.11 ms/op 1.10
Buffer.compare 123687377 - diff last byte 10.250 ms/op 11.712 ms/op 0.88
byteArrayEquals 32 - random bytes 8.1840 ns/op 7.3980 ns/op 1.11
Buffer.compare 32 - random bytes 92.012 ns/op 74.119 ns/op 1.24
byteArrayEquals 1024 - random bytes 7.8110 ns/op 7.2010 ns/op 1.08
Buffer.compare 1024 - random bytes 88.934 ns/op 72.346 ns/op 1.23
byteArrayEquals 16384 - random bytes 7.7870 ns/op 7.1070 ns/op 1.10
Buffer.compare 16384 - random bytes 90.205 ns/op 72.205 ns/op 1.25
byteArrayEquals 123687377 - random bytes 15.680 ns/op 14.090 ns/op 1.11
Buffer.compare 123687377 - random bytes 96.800 ns/op 91.860 ns/op 1.05
regular array get 100000 times 60.984 us/op 54.212 us/op 1.12
wrappedArray get 100000 times 60.852 us/op 51.353 us/op 1.18
arrayWithProxy get 100000 times 26.458 ms/op 16.374 ms/op 1.62
ssz.Root.equals 83.308 ns/op 62.111 ns/op 1.34
byteArrayEquals 82.734 ns/op 60.900 ns/op 1.36
Buffer.compare 16.592 ns/op 13.583 ns/op 1.22
shuffle list - 16384 els 12.047 ms/op 9.9780 ms/op 1.21
shuffle list - 250000 els 175.53 ms/op 139.27 ms/op 1.26
processSlot - 1 slots 30.874 us/op 20.455 us/op 1.51
processSlot - 32 slots 6.2641 ms/op 4.9322 ms/op 1.27
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 90.649 ms/op 72.525 ms/op 1.25
getCommitteeAssignments - req 1 vs - 250000 vc 4.1630 ms/op 3.0102 ms/op 1.38
getCommitteeAssignments - req 100 vs - 250000 vc 5.9788 ms/op 4.6477 ms/op 1.29
getCommitteeAssignments - req 1000 vs - 250000 vc 6.4321 ms/op 4.7810 ms/op 1.35
findModifiedValidators - 10000 modified validators 884.41 ms/op 669.72 ms/op 1.32
findModifiedValidators - 1000 modified validators 682.54 ms/op 511.92 ms/op 1.33
findModifiedValidators - 100 modified validators 664.39 ms/op 535.24 ms/op 1.24
findModifiedValidators - 10 modified validators 718.20 ms/op 522.53 ms/op 1.37
findModifiedValidators - 1 modified validators 678.49 ms/op 502.93 ms/op 1.35
findModifiedValidators - no difference 670.88 ms/op 522.25 ms/op 1.28
compare ViewDUs 7.2137 s/op 5.0615 s/op 1.43
compare each validator Uint8Array 2.7797 s/op 1.9853 s/op 1.40
compare ViewDU to Uint8Array 2.2684 s/op 1.5070 s/op 1.51
migrate state 1000000 validators, 24 modified, 0 new 1.3269 s/op 885.32 ms/op 1.50
migrate state 1000000 validators, 1700 modified, 1000 new 1.8038 s/op 1.2633 s/op 1.43
migrate state 1000000 validators, 3400 modified, 2000 new 2.1289 s/op 1.7837 s/op 1.19
migrate state 1500000 validators, 24 modified, 0 new 1.3643 s/op 1.1208 s/op 1.22
migrate state 1500000 validators, 1700 modified, 1000 new 1.8601 s/op 1.2467 s/op 1.49
migrate state 1500000 validators, 3400 modified, 2000 new 2.2647 s/op 1.4651 s/op 1.55
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 7.7800 ns/op 4.9300 ns/op 1.58
state getBlockRootAtSlot - 250000 vs - 7PWei 1.5564 us/op 706.42 ns/op 2.20
computeProposers - vc 250000 15.073 ms/op 10.377 ms/op 1.45
computeEpochShuffling - vc 250000 175.50 ms/op 135.73 ms/op 1.29
getNextSyncCommittee - vc 250000 250.79 ms/op 182.42 ms/op 1.37
computeSigningRoot for AttestationData 43.694 us/op 38.848 us/op 1.12
hash AttestationData serialized data then Buffer.toString(base64) 3.3113 us/op 3.2269 us/op 1.03
toHexString serialized data 1.8364 us/op 2.2591 us/op 0.81
Buffer.toString(base64) 412.58 ns/op 343.32 ns/op 1.20

Please sign in to comment.