Skip to content

Commit 4b25a27

Browse files
authored
Separate pallet-market benchmarks crate (#809)
Signed-off-by: Lucas Åström <[email protected]>
1 parent 5462d7d commit 4b25a27

File tree

23 files changed

+453
-312
lines changed

23 files changed

+453
-312
lines changed

.github/workflows/ci.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ jobs:
141141
--template node/benchmark_template.hbs
142142
143143
- name: pallet-market — Run test benchmarks
144-
run: cargo test --profile ci --locked -p pallet-market --features runtime-benchmarks -- benchmark --nocapture
144+
run: cargo test --profile ci --locked -p pallet-market-benchmarks --features runtime-benchmarks -- benchmark --nocapture
145145

146146
- name: pallet-market — Run node benchmarks
147147
run: |

Cargo.lock

+21-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ members = [
1515
"node",
1616
"pallets/faucet",
1717
"pallets/market",
18+
"pallets/market/benchmarks",
1819
"pallets/proofs",
1920
"pallets/randomness",
2021
"pallets/storage-provider",
@@ -147,6 +148,7 @@ libp2p-length-prefix-codec = { path = "lib/libp2p-length-prefix-codec" }
147148
mater = { path = "mater/lib" }
148149
pallet-faucet = { path = "pallets/faucet", default-features = false }
149150
pallet-market = { path = "pallets/market", default-features = false }
151+
pallet-market-benchmarks = { path = "pallets/market/benchmarks", default-features = false }
150152
pallet-proofs = { path = "pallets/proofs", default-features = false }
151153
pallet-randomness = { path = "pallets/randomness", default-features = false }
152154
pallet-storage-provider = { path = "pallets/storage-provider", default-features = false }

Justfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -185,11 +185,11 @@ kube-testnet:
185185

186186
pallet-storage-provider-coverage:
187187
mkdir -p coverage
188-
cargo tarpaulin -p pallet-storage-provider --locked --skip-clean --fail-immediately --out html lcov --output-dir coverage/pallet-storage-provider
188+
cargo tarpaulin -p pallet-storage-provider -p pallet-storage-provider-benchmarks --locked --skip-clean --fail-immediately --out html lcov --output-dir coverage/pallet-storage-provider
189189

190190
market-coverage:
191191
mkdir -p coverage
192-
cargo tarpaulin -p pallet-market --locked --skip-clean --fail-immediately --out html lcov --output-dir coverage/pallet-market
192+
cargo tarpaulin -p pallet-market -p pallet-market-benchmarks --locked --skip-clean --fail-immediately --out html lcov --output-dir coverage/pallet-market
193193

194194
mater-coverage:
195195
mkdir -p coverage

pallets/market/Cargo.toml

+1-41
Original file line numberDiff line numberDiff line change
@@ -29,71 +29,31 @@ log = { workspace = true }
2929
thiserror = { workspace = true, default-features = false }
3030

3131
# frame deps
32-
frame-benchmarking = { workspace = true, default-features = false, optional = true }
3332
frame-support = { workspace = true, default-features = false }
3433
frame-system = { workspace = true, default-features = false }
3534
sp-arithmetic = { workspace = true, default-features = false }
3635
sp-std = { workspace = true, default-features = false }
3736

3837
# Benchmark specific
3938
## Homegrown
40-
pallet-balances = { workspace = true, default-features = false, optional = true }
41-
pallet-storage-provider = { workspace = true, default-features = false, optional = true }
42-
## Required for .chunks()
43-
itertools = { workspace = true, optional = true, default-features = false, features = ["use_alloc"] }
4439
## Substrate Primitives & Friends
45-
sp-core = { workspace = true, default_features = false, optional = true }
46-
sp-io = { workspace = true, optional = true }
47-
sp-keystore = { workspace = true, default-features = false, optional = true }
4840
sp-runtime = { workspace = true }
4941

5042
[dev-dependencies]
5143
# Homegrown
52-
pallet-balances = { workspace = true, default-features = false }
53-
pallet-proofs = { workspace = true, default-features = false }
54-
pallet-storage-provider = { workspace = true, default-features = false }
5544
primitives = { workspace = true, default-features = false, features = ["builder", "testing"] }
5645

5746
blake2b_simd = { workspace = true, default-features = true }
58-
env_logger = { workspace = true }
59-
# Just used in benchmarks but they're also considered tests
60-
itertools = { workspace = true, default-features = false, features = ["use_alloc"] }
61-
sp-core = { workspace = true, default-features = false }
62-
sp-io = { workspace = true }
63-
sp-keystore = { workspace = true, default-features = false }
6447
sp-runtime = { workspace = true, default-features = false }
6548

6649
[features]
6750
default = ["std"]
6851
runtime-benchmarks = [
69-
"frame-benchmarking/runtime-benchmarks",
7052
"frame-support/runtime-benchmarks",
7153
"frame-system/runtime-benchmarks",
72-
"itertools",
73-
"pallet-balances/runtime-benchmarks",
74-
"pallet-proofs/runtime-benchmarks",
75-
"pallet-storage-provider/runtime-benchmarks",
7654
"primitives/builder",
7755
"primitives/testing",
78-
"sp-core",
79-
"sp-io",
80-
"sp-keystore",
8156
"sp-runtime/runtime-benchmarks",
8257
]
83-
std = [
84-
"cid/std",
85-
"codec/std",
86-
"frame-benchmarking?/std",
87-
"frame-support/std",
88-
"frame-system/std",
89-
"hex/std",
90-
"pallet-balances?/std",
91-
"pallet-proofs/std",
92-
"pallet-storage-provider?/std",
93-
"primitives/std",
94-
"scale-info/std",
95-
"sp-core/std",
96-
"sp-io/std",
97-
"sp-runtime/std",
98-
]
58+
std = ["cid/std", "codec/std", "frame-support/std", "frame-system/std", "hex/std", "primitives/std", "scale-info/std", "sp-runtime/std"]
9959
try-runtime = ["frame-support/try-runtime", "frame-system/try-runtime", "sp-runtime/try-runtime"]

pallets/market/benchmarks/Cargo.toml

+95
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
[package]
2+
authors.workspace = true
3+
description = "Benchmarks for the Market Pallet"
4+
edition.workspace = true
5+
homepage.workspace = true
6+
license-file.workspace = true
7+
name = "pallet-market-benchmarks"
8+
publish = false
9+
repository.workspace = true
10+
version = "0.0.0"
11+
12+
[lints]
13+
workspace = true
14+
15+
[package.metadata.docs.rs]
16+
targets = ["x86_64-unknown-linux-gnu"]
17+
18+
[dependencies]
19+
# Homegrown
20+
primitives = { workspace = true, default-features = false }
21+
22+
# De/Encoding
23+
codec = { workspace = true, default-features = false, features = ["derive"] }
24+
scale-info = { workspace = true, default-features = false, features = ["derive"] }
25+
26+
cid = { workspace = true, default-features = false, features = ["scale-codec"] }
27+
28+
# frame deps
29+
frame-benchmarking = { workspace = true, default-features = false, optional = true }
30+
frame-support = { workspace = true, default-features = false }
31+
frame-system = { workspace = true, default-features = false }
32+
sp-std = { workspace = true, default-features = false }
33+
34+
# Benchmark specific
35+
## Homegrown
36+
pallet-balances = { workspace = true, default-features = false }
37+
pallet-market = { workspace = true, default-features = false }
38+
pallet-proofs = { workspace = true, default-features = false }
39+
pallet-storage-provider = { workspace = true, default-features = false }
40+
## Required for .chunks()
41+
itertools = { workspace = true, optional = true, default-features = false, features = ["use_alloc"] }
42+
## Substrate Primitives & Friends
43+
sp-core = { workspace = true, default_features = false, optional = true }
44+
sp-io = { workspace = true, optional = true }
45+
sp-keystore = { workspace = true, default-features = false, optional = true }
46+
sp-runtime = { workspace = true, default-features = false }
47+
48+
[dev-dependencies]
49+
# Homegrown
50+
primitives = { workspace = true, default-features = false, features = ["builder", "testing"] }
51+
52+
blake2b_simd = { workspace = true, default-features = true }
53+
env_logger = { workspace = true }
54+
# Just used in benchmarks but they're also considered tests
55+
itertools = { workspace = true, default-features = false, features = ["use_alloc"] }
56+
sp-core = { workspace = true, default-features = false }
57+
sp-io = { workspace = true }
58+
sp-keystore = { workspace = true, default-features = false }
59+
sp-runtime = { workspace = true, default-features = false }
60+
61+
[features]
62+
default = ["std"]
63+
runtime-benchmarks = [
64+
"frame-benchmarking/runtime-benchmarks",
65+
"frame-support/runtime-benchmarks",
66+
"frame-system/runtime-benchmarks",
67+
"itertools",
68+
"pallet-balances/runtime-benchmarks",
69+
"pallet-market/runtime-benchmarks",
70+
"pallet-proofs/runtime-benchmarks",
71+
"pallet-storage-provider/runtime-benchmarks",
72+
"primitives/builder",
73+
"primitives/testing",
74+
"sp-core",
75+
"sp-io",
76+
"sp-keystore",
77+
"sp-runtime/runtime-benchmarks",
78+
]
79+
std = [
80+
"cid/std",
81+
"codec/std",
82+
"frame-benchmarking?/std",
83+
"frame-support/std",
84+
"frame-system/std",
85+
"pallet-balances/std",
86+
"pallet-market/std",
87+
"pallet-proofs/std",
88+
"pallet-storage-provider/std",
89+
"primitives/std",
90+
"scale-info/std",
91+
"sp-core/std",
92+
"sp-io/std",
93+
"sp-runtime/std",
94+
]
95+
try-runtime = ["frame-support/try-runtime", "frame-system/try-runtime", "sp-runtime/try-runtime"]

0 commit comments

Comments
 (0)