You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
build: no debug info in a default build profile #8
The workspace root Cargo.toml (crate computegraph, with a trailing [workspace]) declares no [profile.*], so it builds dev/test with Cargo's default debug = 2.
debug = 0 is not Cargo's default for dev/test: without it the dev profile uses debug = 2, so every local cargo build, cargo test and cargo nextest run emits DWARF. Neither command reads it, and DWARF -- not code -- is what makes build output large. Measured on one machine: a single strided_kernel dev rlib reached 1.13 GiB, and the shared compiler cache held 320 GiB of dev-profile artifacts out of a 335 GiB store. debug = 1 and debug = "line-tables-only" are not a size compromise either: both emit DWARF.
Smallest useful correction
Add to the workspace root Cargo.toml:
[profile.dev]
debug = 0
[profile.test]
debug = 0
Keep debug-assertions, overflow-checks and incremental compilation as they are; they are unrelated to DWARF. A session that needs symbols asks for them with CARGO_PROFILE_DEV_DEBUG=2, and a workspace that needs readable backtraces for everyone adds one narrow opt-in profile (release-debug, profiling) instead of a default one. Cargo reads [profile.*] from the workspace root only, so a member's or a dependency's own profile block must not be changed for this.
Activity
build: keep debug info out of the default profiles (#8) (#9)