Cuts ~150 ms (-2.5 %) off the compare harness via better cross-crate inlining of small Pareto/HV helpers. Costs ~20 s extra on a from- scratch `cargo build --release`, but is essentially free on incremental rebuilds. Only applies when this crate is the workspace root (i.e. when developing heuropt or running its own examples). Downstream users who consume heuropt as a dependency see whatever profile their own Cargo.toml configures.
41 lines
1.1 KiB
TOML
41 lines
1.1 KiB
TOML
[package]
|
|
name = "heuropt"
|
|
version = "0.3.0"
|
|
edition = "2024"
|
|
rust-version = "1.85"
|
|
authors = ["Stephen Waits <steve@waits.net>"]
|
|
description = "A practical Rust toolkit for heuristic single-, multi-, and many-objective optimization."
|
|
license = "MIT"
|
|
readme = "README.md"
|
|
repository = "https://github.com/swaits/heuropt"
|
|
homepage = "https://github.com/swaits/heuropt"
|
|
documentation = "https://docs.rs/heuropt"
|
|
keywords = ["optimization", "evolutionary", "nsga", "pareto", "moead"]
|
|
categories = ["algorithms", "science", "mathematics", "simulation"]
|
|
|
|
[features]
|
|
default = []
|
|
serde = ["dep:serde"]
|
|
parallel = ["dep:rayon"]
|
|
|
|
[dependencies]
|
|
rand = "0.9"
|
|
rand_distr = "0.5"
|
|
rayon = { version = "1", optional = true }
|
|
serde = { version = "1", features = ["derive"], optional = true }
|
|
|
|
[dev-dependencies]
|
|
gungraun = "0.18"
|
|
proptest = "1"
|
|
|
|
[[bench]]
|
|
name = "hot_paths"
|
|
harness = false
|
|
|
|
# Tighten release codegen for the compare harness and downstream binaries
|
|
# that build heuropt directly (i.e. when this crate is the workspace root).
|
|
# When heuropt is used as a dependency the consumer's profile wins.
|
|
[profile.release]
|
|
lto = "thin"
|
|
codegen-units = 1
|