Port transaction pool benchmark (#738)

Adds a benchmark to measure transaction throughput.
This commit is contained in:
Sebastian Kunert
2021-11-11 10:30:54 +01:00
committed by GitHub
parent 8a1201273b
commit d4045c85e7
7 changed files with 432 additions and 75 deletions
Generated
+137
View File
@@ -878,7 +878,10 @@ version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
dependencies = [
"lazy_static",
"memchr",
"regex-automata",
"serde",
]
[[package]]
@@ -974,6 +977,15 @@ dependencies = [
"serde_json",
]
[[package]]
name = "cast"
version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c24dab4283a142afa2fdca129b80ad2c6284e073930f964c3a1293c225ee39a"
dependencies = [
"rustc_version 0.4.0",
]
[[package]]
name = "cc"
version = "1.0.71"
@@ -1275,6 +1287,44 @@ dependencies = [
"cfg-if 1.0.0",
]
[[package]]
name = "criterion"
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1604dafd25fba2fe2d5895a9da139f8dc9b319a5fe5354ca137cbbce4e178d10"
dependencies = [
"atty",
"cast",
"clap",
"criterion-plot",
"csv",
"futures 0.3.17",
"itertools",
"lazy_static",
"num-traits",
"oorandom",
"plotters",
"rayon",
"regex",
"serde",
"serde_cbor",
"serde_derive",
"serde_json",
"tinytemplate",
"tokio",
"walkdir",
]
[[package]]
name = "criterion-plot"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d00996de9f2f7559f7f4dc286073197f83e92256a59ed395f9aac01fe717da57"
dependencies = [
"cast",
"itertools",
]
[[package]]
name = "crossbeam-channel"
version = "0.5.1"
@@ -1345,6 +1395,28 @@ dependencies = [
"subtle",
]
[[package]]
name = "csv"
version = "1.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1"
dependencies = [
"bstr",
"csv-core",
"itoa",
"ryu",
"serde",
]
[[package]]
name = "csv-core"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"
dependencies = [
"memchr",
]
[[package]]
name = "ct-logs"
version = "0.8.0"
@@ -1859,6 +1931,7 @@ dependencies = [
"frame-executive",
"frame-support",
"frame-system",
"frame-system-rpc-runtime-api",
"pallet-balances",
"pallet-sudo",
"pallet-timestamp",
@@ -1885,6 +1958,7 @@ name = "cumulus-test-service"
version = "0.1.0"
dependencies = [
"async-trait",
"criterion",
"cumulus-client-consensus-common",
"cumulus-client-consensus-relay-chain",
"cumulus-client-network",
@@ -1894,6 +1968,7 @@ dependencies = [
"cumulus-test-relay-validation-worker-provider",
"cumulus-test-runtime",
"frame-system",
"frame-system-rpc-runtime-api",
"futures 0.3.17",
"jsonrpc-core",
"pallet-transaction-payment",
@@ -1913,6 +1988,7 @@ dependencies = [
"sc-service 0.10.0-dev (git+https://github.com/paritytech/substrate?branch=master)",
"sc-tracing 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=master)",
"sc-transaction-pool 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=master)",
"sc-transaction-pool-api 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=master)",
"serde",
"sp-arithmetic 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=master)",
"sp-blockchain 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=master)",
@@ -1922,6 +1998,7 @@ dependencies = [
"sp-runtime 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=master)",
"sp-state-machine 0.10.0-dev (git+https://github.com/paritytech/substrate?branch=master)",
"sp-timestamp",
"sp-tracing 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=master)",
"sp-trie 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=master)",
"substrate-test-client",
"substrate-test-utils 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.12)",
@@ -2920,6 +2997,12 @@ dependencies = [
"web-sys",
]
[[package]]
name = "half"
version = "1.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
[[package]]
name = "handlebars"
version = "3.5.5"
@@ -4962,6 +5045,12 @@ version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"
[[package]]
name = "oorandom"
version = "11.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
[[package]]
name = "opaque-debug"
version = "0.2.3"
@@ -6449,6 +6538,34 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "989d43012e2ca1c4a02507c67282691a0a3207f9dc67cec596b43fe925b3d325"
[[package]]
name = "plotters"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a3fd9ec30b9749ce28cd91f255d569591cdf937fe280c312143e3c4bad6f2a"
dependencies = [
"num-traits",
"plotters-backend",
"plotters-svg",
"wasm-bindgen",
"web-sys",
]
[[package]]
name = "plotters-backend"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d88417318da0eaf0fdcdb51a0ee6c3bed624333bff8f946733049380be67ac1c"
[[package]]
name = "plotters-svg"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "521fa9638fa597e1dc53e9412a4f9cefb01187ee1f7413076f9e6749e2885ba9"
dependencies = [
"plotters-backend",
]
[[package]]
name = "polkadot-approval-distribution"
version = "0.9.12"
@@ -10387,6 +10504,16 @@ dependencies = [
"serde_derive",
]
[[package]]
name = "serde_cbor"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5"
dependencies = [
"half",
"serde",
]
[[package]]
name = "serde_derive"
version = "1.0.130"
@@ -12495,6 +12622,16 @@ dependencies = [
"crunchy",
]
[[package]]
name = "tinytemplate"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
dependencies = [
"serde",
"serde_json",
]
[[package]]
name = "tinyvec"
version = "1.5.0"