From 35e904e083b11c5af1576f924a26918828449531 Mon Sep 17 00:00:00 2001 From: Kyle Siefring Date: Tue, 16 Jun 2020 16:25:30 -0400 Subject: [PATCH] Remove lto from the release profile The performance difference has shrunk substantially adding inline to a bunch of functions. The performance difference with or without lto is about 4 seconds on the slowest clip/qp on a standard awcy run (MINECRAFT, objective-1-fast, qp 80). The compile time difference is 42 seconds. If it's possible to have good performance with lto off, then optimizing without it will provide a good development profile. Going forward, it would be advisable to use lto to check for performancem problems. It may be possible to create a seperate profile between dev and release. Would require https://github.com/rust-lang/cargo/issues/6988 and AWCY would need to be modified to use the new profile/still work with old versions of rav1e. --- Cargo.toml | 2 -- 1 file changed, 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index f3d7c6d39d..472c655793 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -146,11 +146,9 @@ debug = true codegen-units = 1 # if > 1 enables parallel code generation which improves # compile times, but prevents some optimizations. # Passes `-C codegen-units`. Ignored when `lto = true`. -lto = true [profile.bench] codegen-units = 1 -lto = true [workspace] members = [".", "ivf", "rav1e_js", "v_frame"]