From fd91f4391216fe427b359cdfee0543acf5afd1df Mon Sep 17 00:00:00 2001 From: "Erik W. Gren" Date: Tue, 24 Dec 2024 20:52:40 +0100 Subject: [PATCH] change to ordered timings over hashmap --- blade-graphics/src/gles/command.rs | 2 +- blade-graphics/src/lib.rs | 2 +- blade-graphics/src/metal/command.rs | 2 +- blade-graphics/src/vulkan/command.rs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/blade-graphics/src/gles/command.rs b/blade-graphics/src/gles/command.rs index 19e2b6f..b4e776e 100644 --- a/blade-graphics/src/gles/command.rs +++ b/blade-graphics/src/gles/command.rs @@ -145,7 +145,7 @@ impl super::CommandEncoder { ); } let time = Duration::from_nanos(result - prev); - *self.timings.entry(pass_name).or_default() += time; + self.timings.push((pass_name, time)); prev = result } } diff --git a/blade-graphics/src/lib.rs b/blade-graphics/src/lib.rs index 8c233ad..62c6ac8 100644 --- a/blade-graphics/src/lib.rs +++ b/blade-graphics/src/lib.rs @@ -1150,4 +1150,4 @@ pub struct Viewport { pub h: f32, } -pub type Timings = std::collections::HashMap; +pub type Timings = Vec<(String, std::time::Duration)>; diff --git a/blade-graphics/src/metal/command.rs b/blade-graphics/src/metal/command.rs index 42b1296..09fbf48 100644 --- a/blade-graphics/src/metal/command.rs +++ b/blade-graphics/src/metal/command.rs @@ -300,7 +300,7 @@ impl crate::traits::CommandEncoder for super::CommandEncoder { .resolve_counter_range(metal::NSRange::new(0, td.pass_names.len() as u64 * 2)); for (name, chunk) in td.pass_names.drain(..).zip(counters.chunks(2)) { let duration = Duration::from_nanos(chunk[1] - chunk[0]); - *self.timings.entry(name).or_default() += duration; + self.timings.push((name, duration)); } } } diff --git a/blade-graphics/src/vulkan/command.rs b/blade-graphics/src/vulkan/command.rs index ac24dd3..5f9bc2f 100644 --- a/blade-graphics/src/vulkan/command.rs +++ b/blade-graphics/src/vulkan/command.rs @@ -497,7 +497,7 @@ impl crate::traits::CommandEncoder for super::CommandEncoder { { let diff = (ts - prev) as f32 * timing.period; prev = ts; - *self.timings.entry(name).or_default() += Duration::from_nanos(diff as _); + self.timings.push((name, Duration::from_nanos(diff as _))); } } unsafe {