quick_search/Cargo.toml
= 9760503a3f
Some checks failed
CI / linux (push) Failing after 5m46s
CI / windows-cross (push) Successful in 5m40s
CI / release (push) Has been skipped
Release v1.1: live results, duplicate verification, and a Settings tab.
Search results now track the disk as it changes (live.rs), duplicate
groups can be confirmed byte-for-byte before deletion (verify.rs), the
Options window becomes a Settings tab with configurable/sortable result
columns, and a first-start tutorial explains the basics.
2026-08-17 19:26:18 -04:00

32 lines
1.4 KiB
TOML

[workspace]
resolver = "2"
members = [
"crates/quicksearch-core",
"crates/quicksearch-gui",
]
# No `[profile.release]` on purpose. Cross-crate inlining looks like it should
# pay here — the cascade calls into `snippet`/`query`, both into `memchr` and
# `zstd`, everything into `rusqlite`'s FFI wrappers — so it was measured, and
# it does not. Against an incremental rebuild of the GUI after touching core
# (10.2 s at the defaults):
#
# lto=thin 67 s search cold 29.9 ms warm best 14.77 ms index cold 459 ms
# lto=thin,cgu=1 152 s (build cost alone ruled it out)
# lto=fat,cgu=1 200 s search cold 29.2 ms warm best 14.57 ms index cold 479 ms
# (defaults) 10 s search cold 30.0 ms warm best 14.92 ms index cold 478 ms
#
# Every runtime column moves 0-4% and index-cold is not even monotonic, so the
# gain is at the noise floor while the build is 6.6-19.5x longer — on a CI that
# builds three targets. Re-measure before concluding otherwise.
#
# `panic = "abort"` is separately unavailable: `extract/pdf.rs` runs
# `pdf-extract` inside `catch_unwind`, so aborting would turn a malformed PDF
# into a killed process instead of one skipped file.
[workspace.package]
version = "1.1.0"
edition = "2021"
license = "GPL-3.0-or-later"
authors = ["Jeremy <jeremy@karsttech.com>"]
repository = "https://code.karsttech.com/jeremy/quick_search.git"