Skip to content

Commit

Permalink
Remove lto from the release profile
Browse files Browse the repository at this point in the history
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 rust-lang/cargo#6988 and AWCY
would need to be modified to use the new profile/still work with old
versions of rav1e.
  • Loading branch information
KyleSiefring committed Jun 17, 2020
1 parent 0680e52 commit a057c0a
Showing 1 changed file with 0 additions and 2 deletions.
2 changes: 0 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -149,11 +149,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"]
Expand Down

0 comments on commit a057c0a

Please sign in to comment.