mirror of
https://github.com/lancedb/lancedb.git
synced 2026-09-05 04:49:22 +00:00
Local benchmarks currently inherit the release profile's fat LTO and single codegen unit, making local iteration pay release-artifact build costs. Provide repository-defined profiles for no-LTO local work and cheaper benchmark builds, and document when each profile is appropriate. Release artifacts continue to use fat LTO.
64 lines
1.7 KiB
TOML
64 lines
1.7 KiB
TOML
[profile.release]
|
|
lto = "fat"
|
|
codegen-units = 1
|
|
|
|
[profile.release-with-debug]
|
|
inherits = "release"
|
|
debug = true
|
|
# Prioritize compile time over runtime performance
|
|
codegen-units = 16
|
|
lto = "thin"
|
|
|
|
[profile.release-no-lto]
|
|
inherits = "release"
|
|
debug = true
|
|
lto = false
|
|
# Prioritize compile time when LTO is not relevant to the measurement.
|
|
codegen-units = 16
|
|
|
|
[profile.bench]
|
|
inherits = "release"
|
|
lto = "thin"
|
|
codegen-units = 16
|
|
|
|
[target.'cfg(all())']
|
|
rustflags = [
|
|
"-Wclippy::all",
|
|
"-Wclippy::style",
|
|
"-Wclippy::fallible_impl_from",
|
|
"-Wclippy::manual_let_else",
|
|
"-Wclippy::redundant_pub_crate",
|
|
"-Wclippy::string_add_assign",
|
|
"-Wclippy::string_add",
|
|
"-Wclippy::string_lit_as_bytes",
|
|
"-Wclippy::implicit_clone",
|
|
"-Wclippy::use_self",
|
|
"-Dclippy::cargo",
|
|
"-Dclippy::dbg_macro",
|
|
# not too much we can do to avoid multiple crate versions
|
|
"-Aclippy::multiple-crate-versions",
|
|
"-Aclippy::wildcard_dependencies",
|
|
]
|
|
|
|
[target.x86_64-unknown-linux-gnu]
|
|
rustflags = ["-C", "target-cpu=haswell", "-C", "target-feature=+avx2,+fma,+f16c"]
|
|
|
|
[target.x86_64-unknown-linux-musl]
|
|
rustflags = ["-C", "target-cpu=haswell", "-C", "target-feature=-crt-static,+avx2,+fma,+f16c"]
|
|
|
|
[target.aarch64-unknown-linux-musl]
|
|
linker = "aarch64-linux-musl-gcc"
|
|
rustflags = ["-C", "target-feature=-crt-static"]
|
|
|
|
[target.aarch64-apple-darwin]
|
|
rustflags = ["-C", "target-cpu=apple-m1", "-C", "target-feature=+neon,+fp16,+fhm,+dotprod"]
|
|
|
|
# Not all Windows systems have the C runtime installed, so this avoids library
|
|
# not found errors on systems that are missing it.
|
|
[target.x86_64-pc-windows-msvc]
|
|
rustflags = ["-Ctarget-feature=+crt-static"]
|
|
|
|
# Experimental target for Arm64 Windows
|
|
[target.aarch64-pc-windows-msvc]
|
|
rustflags = ["-Ctarget-feature=+crt-static"]
|