diff options
| author | Sébastien Crozet <sebcrozet@dimforge.com> | 2022-05-31 11:49:36 +0200 |
|---|---|---|
| committer | Sébastien Crozet <sebcrozet@dimforge.com> | 2022-05-31 11:49:36 +0200 |
| commit | 10ca3474e67d53d3d1ec306dd2973d95043ba666 (patch) | |
| tree | 73258de799a6904c16d5f027dcd8d3c163387298 | |
| parent | fb1bfc762c89cd8c5bd745a82998c1662a1bf196 (diff) | |
| download | rapier-10ca3474e67d53d3d1ec306dd2973d95043ba666.tar.gz rapier-10ca3474e67d53d3d1ec306dd2973d95043ba666.tar.bz2 rapier-10ca3474e67d53d3d1ec306dd2973d95043ba666.zip | |
Make the`instant` dependency optional, behind a `profiler` cargo feature
| -rw-r--r-- | crates/rapier2d-f64/Cargo.toml | 3 | ||||
| -rw-r--r-- | crates/rapier2d/Cargo.toml | 3 | ||||
| -rw-r--r-- | crates/rapier3d-f64/Cargo.toml | 3 | ||||
| -rw-r--r-- | crates/rapier3d/Cargo.toml | 3 | ||||
| -rw-r--r-- | crates/rapier_testbed2d-f64/Cargo.toml | 2 | ||||
| -rw-r--r-- | crates/rapier_testbed2d/Cargo.toml | 2 | ||||
| -rw-r--r-- | crates/rapier_testbed3d-f64/Cargo.toml | 2 | ||||
| -rw-r--r-- | crates/rapier_testbed3d/Cargo.toml | 2 | ||||
| -rw-r--r-- | src/counters/timer.rs | 22 | ||||
| -rw-r--r-- | src/pipeline/physics_pipeline.rs | 2 |
10 files changed, 29 insertions, 15 deletions
diff --git a/crates/rapier2d-f64/Cargo.toml b/crates/rapier2d-f64/Cargo.toml index 4a7d502..72d05cc 100644 --- a/crates/rapier2d-f64/Cargo.toml +++ b/crates/rapier2d-f64/Cargo.toml @@ -29,6 +29,7 @@ wasm-bindgen = [ "instant/wasm-bindgen" ] serde-serialize = [ "nalgebra/serde-serialize", "parry2d-f64/serde-serialize", "serde", "bit-vec/serde", "arrayvec/serde" ] enhanced-determinism = [ "simba/libm_force", "parry2d-f64/enhanced-determinism", "indexmap" ] debug-render = [ ] +profiler = [ "instant" ] # Enables the internal profiler. # Feature used for debugging only. debug-disable-legitimate-fe-exceptions = [ ] @@ -45,7 +46,7 @@ required-features = [ "dim2", "f64" ] [dependencies] vec_map = { version = "0.8", optional = true } -instant = { version = "0.1", features = [ "now" ]} +instant = { version = "0.1", features = [ "now" ], optional = true } num-traits = "0.2" nalgebra = "0.31" parry2d-f64 = "0.9" diff --git a/crates/rapier2d/Cargo.toml b/crates/rapier2d/Cargo.toml index d9eb7e9..df32e54 100644 --- a/crates/rapier2d/Cargo.toml +++ b/crates/rapier2d/Cargo.toml @@ -29,6 +29,7 @@ wasm-bindgen = [ "instant/wasm-bindgen" ] serde-serialize = [ "nalgebra/serde-serialize", "parry2d/serde-serialize", "serde", "bit-vec/serde", "arrayvec/serde" ] enhanced-determinism = [ "simba/libm_force", "parry2d/enhanced-determinism", "indexmap" ] debug-render = [ ] +profiler = [ "instant" ] # Enables the internal profiler. # Feature used for debugging only. debug-disable-legitimate-fe-exceptions = [ ] @@ -45,7 +46,7 @@ required-features = [ "dim2", "f32" ] [dependencies] vec_map = { version = "0.8", optional = true } -instant = { version = "0.1", features = [ "now" ]} +instant = { version = "0.1", features = [ "now" ], optional = true } num-traits = "0.2" nalgebra = "0.31" parry2d = "0.9" diff --git a/crates/rapier3d-f64/Cargo.toml b/crates/rapier3d-f64/Cargo.toml index 89e0b8b..328682b 100644 --- a/crates/rapier3d-f64/Cargo.toml +++ b/crates/rapier3d-f64/Cargo.toml @@ -29,6 +29,7 @@ wasm-bindgen = [ "instant/wasm-bindgen" ] serde-serialize = [ "nalgebra/serde-serialize", "parry3d-f64/serde-serialize", "serde", "bit-vec/serde" ] enhanced-determinism = [ "simba/libm_force", "parry3d-f64/enhanced-determinism" ] debug-render = [] +profiler = [ "instant" ] # Enables the internal profiler. # Feature used for debugging only. debug-disable-legitimate-fe-exceptions = [ ] @@ -45,7 +46,7 @@ required-features = [ "dim3", "f64" ] [dependencies] vec_map = { version = "0.8", optional = true } -instant = { version = "0.1", features = [ "now" ]} +instant = { version = "0.1", features = [ "now" ], optional = true } num-traits = "0.2" nalgebra = "0.31" parry3d-f64 = "0.9" diff --git a/crates/rapier3d/Cargo.toml b/crates/rapier3d/Cargo.toml index b6364ea..e44f372 100644 --- a/crates/rapier3d/Cargo.toml +++ b/crates/rapier3d/Cargo.toml @@ -29,6 +29,7 @@ wasm-bindgen = [ "instant/wasm-bindgen" ] serde-serialize = [ "nalgebra/serde-serialize", "parry3d/serde-serialize", "serde", "bit-vec/serde" ] enhanced-determinism = [ "simba/libm_force", "parry3d/enhanced-determinism" ] debug-render = [ ] +profiler = [ "instant" ] # Enables the internal profiler. # Feature used for debugging only. debug-disable-legitimate-fe-exceptions = [ ] @@ -45,7 +46,7 @@ required-features = [ "dim3", "f32" ] [dependencies] vec_map = { version = "0.8", optional = true } -instant = { version = "0.1", features = [ "now" ]} +instant = { version = "0.1", features = [ "now" ], optional = true } num-traits = "0.2" nalgebra = "0.31" parry3d = "0.9" diff --git a/crates/rapier_testbed2d-f64/Cargo.toml b/crates/rapier_testbed2d-f64/Cargo.toml index 882fced..236a1b8 100644 --- a/crates/rapier_testbed2d-f64/Cargo.toml +++ b/crates/rapier_testbed2d-f64/Cargo.toml @@ -55,4 +55,4 @@ bevy = {version = "0.7", default-features = false, features = ["bevy_winit", "re package = "rapier2d-f64" path = "../rapier2d-f64" version = "0.12.0" -features = [ "serde-serialize", "debug-render" ] +features = [ "serde-serialize", "debug-render", "profiler" ] diff --git a/crates/rapier_testbed2d/Cargo.toml b/crates/rapier_testbed2d/Cargo.toml index 6c36e69..d4d9b71 100644 --- a/crates/rapier_testbed2d/Cargo.toml +++ b/crates/rapier_testbed2d/Cargo.toml @@ -55,4 +55,4 @@ bevy = {version = "0.7", default-features = false, features = ["bevy_winit", "re package = "rapier2d" path = "../rapier2d" version = "0.12.0" -features = [ "serde-serialize", "debug-render" ] +features = [ "serde-serialize", "debug-render", "profiler" ] diff --git a/crates/rapier_testbed3d-f64/Cargo.toml b/crates/rapier_testbed3d-f64/Cargo.toml index 9d8d6f9..7e5b2f1 100644 --- a/crates/rapier_testbed3d-f64/Cargo.toml +++ b/crates/rapier_testbed3d-f64/Cargo.toml @@ -53,4 +53,4 @@ bevy = {version = "0.7", default-features = false, features = ["bevy_winit", "re package = "rapier3d-f64" path = "../rapier3d-f64" version = "0.12.0" -features = [ "serde-serialize", "debug-render" ]
\ No newline at end of file +features = [ "serde-serialize", "debug-render", "profiler" ]
\ No newline at end of file diff --git a/crates/rapier_testbed3d/Cargo.toml b/crates/rapier_testbed3d/Cargo.toml index e24d509..31a78d0 100644 --- a/crates/rapier_testbed3d/Cargo.toml +++ b/crates/rapier_testbed3d/Cargo.toml @@ -57,4 +57,4 @@ bevy = {version = "0.7", default-features = false, features = ["bevy_winit", "re package = "rapier3d" path = "../rapier3d" version = "0.12.0" -features = [ "serde-serialize", "debug-render" ]
\ No newline at end of file +features = [ "serde-serialize", "debug-render", "profiler" ]
\ No newline at end of file diff --git a/src/counters/timer.rs b/src/counters/timer.rs index fd25063..bc0397d 100644 --- a/src/counters/timer.rs +++ b/src/counters/timer.rs @@ -4,6 +4,7 @@ use std::fmt::{Display, Error, Formatter}; #[derive(Copy, Clone, Debug, Default)] pub struct Timer { time: f64, + #[allow(dead_code)] // The field isn’t used if the `profiler` feature isn’t enabled. start: Option<f64>, } @@ -23,21 +24,30 @@ impl Timer { /// Start the timer. pub fn start(&mut self) { - self.time = 0.0; - self.start = Some(instant::now()); + #[cfg(feature = "profiler")] + { + self.time = 0.0; + self.start = Some(instant::now()); + } } /// Pause the timer. pub fn pause(&mut self) { - if let Some(start) = self.start { - self.time += instant::now() - start; + #[cfg(feature = "profiler")] + { + if let Some(start) = self.start { + self.time += instant::now() - start; + } + self.start = None; } - self.start = None; } /// Resume the timer. pub fn resume(&mut self) { - self.start = Some(instant::now()); + #[cfg(feature = "profiler")] + { + self.start = Some(instant::now()); + } } /// The measured time between the last `.start()` and `.pause()` calls. diff --git a/src/pipeline/physics_pipeline.rs b/src/pipeline/physics_pipeline.rs index 012f40f..19749be 100644 --- a/src/pipeline/physics_pipeline.rs +++ b/src/pipeline/physics_pipeline.rs @@ -54,7 +54,7 @@ impl PhysicsPipeline { /// Initializes a new physics pipeline. pub fn new() -> PhysicsPipeline { PhysicsPipeline { - counters: Counters::new(false), + counters: Counters::new(true), solvers: Vec::new(), manifold_indices: Vec::new(), joint_constraint_indices: Vec::new(), |
