diff --git a/Cargo.toml b/Cargo.toml index 75e459f..bd43e3e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -278,6 +278,14 @@ opt-level = 0 lto = "thin" codegen-units = 1 +# Except dr-ui. Slint expands the `.slint` files into ~27 MB of Rust +# (`out/app.rs`), and at one codegen unit LLVM optimises all of it on a single +# thread: 13.5 minutes of a release build with the other cores idle. The code +# it holds is UI glue — property bindings and callbacks — not the image work, +# which lives in the crates above that keep the single unit. +[profile.release.package.dr-ui] +codegen-units = 16 + # A release build that can say where it panicked: line tables, so a crash # record's backtrace (`dr_plat::crash`) reads `file.rs:123` rather than bare # addresses. The macOS build uses it (docs/dev/macos.md) — no one here can