rust-lightning/Cargo.toml
Matt Corallo 08ecb53915 Add bench profiles to Cargo.toml to force codegen-units=1
This makes a small difference for NetworkGraph deserialization
as it enables more inlining across different files, hopefully
better matching user performance as well.

As of this commit, on an Intel 2687W v3, the serialization
benchmarks take:

test routing::network_graph::benches::read_network_graph  ... bench: 2,037,875,071 ns/iter (+/- 760,370)
test routing::network_graph::benches::write_network_graph ... bench: 320,561,557 ns/iter (+/- 176,343)
2021-06-01 15:47:01 +00:00

29 lines
706 B
TOML

[workspace]
members = [
"lightning",
"lightning-block-sync",
"lightning-invoice",
"lightning-net-tokio",
"lightning-persister",
"lightning-background-processor",
]
# Our tests do actual crypo and lots of work, the tradeoff for -O1 is well worth it.
# Ideally we would only do this in profile.test, but profile.test only applies to
# the test binary, not dependencies, which means most of the critical code still
# gets compiled as -O0. See
# https://doc.rust-lang.org/cargo/reference/profiles.html#profile-selection
[profile.dev]
opt-level = 1
panic = "abort"
[profile.release]
opt-level = 3
lto = true
panic = "abort"
[profile.bench]
opt-level = 3
codegen-units = 1
lto = true