mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-01-19 05:43:55 +01:00
1701b02124
Rather than using the std benchmark framework (which isn't maintained and is unlikely to get any further maintenance), we swap for criterion, which at least gets us a variable number of test runs so our benchmarks don't take forever. We also fix the RGS benchmark to pass now that the file in use is stale compared to today's date.
39 lines
1.0 KiB
TOML
39 lines
1.0 KiB
TOML
[workspace]
|
|
|
|
members = [
|
|
"lightning",
|
|
"lightning-block-sync",
|
|
"lightning-invoice",
|
|
"lightning-net-tokio",
|
|
"lightning-persister",
|
|
"lightning-background-processor",
|
|
"lightning-rapid-gossip-sync"
|
|
]
|
|
|
|
exclude = [
|
|
"lightning-custom-message",
|
|
"lightning-transaction-sync",
|
|
"no-std-check",
|
|
"bench",
|
|
]
|
|
|
|
# Our tests do actual crypto and lots of work, the tradeoff for -O2 is well
|
|
# worth it. Note that we only apply optimizations to dependencies, not workspace
|
|
# crates themselves.
|
|
# https://doc.rust-lang.org/cargo/reference/profiles.html#profile-selection
|
|
[profile.dev.package."*"]
|
|
opt-level = 2
|
|
|
|
# It appears some minimal optimizations are required to inline many std methods
|
|
# and reduce the otherwise-substantial time spent in std self-checks. We do so
|
|
# here but ensure we keep LTO disabled as otherwise we're re-optimizing all our
|
|
# dependencies every time we make any local changes.
|
|
[profile.dev]
|
|
opt-level = 1
|
|
lto = "off"
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
lto = true
|
|
panic = "abort"
|