From 5b8b7dc08fbacc2fdd868b9d1f138585547562e8 Mon Sep 17 00:00:00 2001 From: James Liu Date: Tue, 20 Dec 2022 15:59:41 +0000 Subject: [PATCH] Add a stress test profile (#6901) # Objective This adds a custom profile for testing against stress tests. Bevy seemingly gets notably faster with LTO turned on. To more accurately depict production level performance, LTO and other rustc-level optimizations should be enabled when performance testing on stress tests. Also updated the stress test docs to reflect that users should be using it. --- Cargo.toml | 5 +++++ examples/stress_tests/README.md | 11 ++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index aa2eb4571a..c0e8fde052 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1608,3 +1608,8 @@ inherits = "release" opt-level = "z" lto = "fat" codegen-units = 1 + +[profile.stress-test] +inherits = "release" +lto = "fat" +panic = "abort" diff --git a/examples/stress_tests/README.md b/examples/stress_tests/README.md index 7bfef204a4..b64c46f1a0 100644 --- a/examples/stress_tests/README.md +++ b/examples/stress_tests/README.md @@ -1,3 +1,12 @@ # Stress tests -These examples are used to stress test Bevy's performance in various ways. These should be run with the --release argument to cargo or equivalent optimization, otherwise they will be very slow. +These examples are used to stress test Bevy's performance in various ways. These +should be run with the "stress-test" profile to accurately represent performance +in production, otherwise they will run in cargo's default "dev" profile which is +very slow. + +## Example Command + +```bash +cargo run --profile stress-test --example +```