Enable LTO for release builds using Nix #707

Merged
lx merged 1 commit from lto-nix into main 2024-02-08 10:36:49 +00:00
2 changed files with 3 additions and 2 deletions

View file

@ -45,7 +45,7 @@ else let
inherit (rustLib) fetchCratesIo fetchCrateLocal fetchCrateGit fetchCrateAlternativeRegistry expandFeatures decideProfile genDrvsByProfile; inherit (rustLib) fetchCratesIo fetchCrateLocal fetchCrateGit fetchCrateAlternativeRegistry expandFeatures decideProfile genDrvsByProfile;
profilesByName = { profilesByName = {
dev = builtins.fromTOML "lto = \"off\"\n"; dev = builtins.fromTOML "lto = \"off\"\n";
release = builtins.fromTOML "debug = true\n"; release = builtins.fromTOML "codegen-units = 1\nlto = true\nopt-level = \"s\"\nstrip = true\n";
}; };
rootFeatures' = expandFeatures rootFeatures; rootFeatures' = expandFeatures rootFeatures;
overridableMkRustCrate = f: overridableMkRustCrate = f:

View file

@ -131,7 +131,8 @@ aws-sdk-config = "1.13"
aws-sdk-s3 = "1.14" aws-sdk-s3 = "1.14"
[profile.dev] [profile.dev]
lto = "thin" #lto = "thin" # disabled for now, adds 2-4 min to each CI build
lto = "off"
[profile.release] [profile.release]
lto = true lto = true