Enhance time! macro for conditional compilation

The `time!` macro now only logs execution time in debug mode, avoiding unnecessary overhead in release builds. Added `CommandQueueProperties` and `Context` imports to `schemsearch-ocl-matcher` for potential future functionality.
This commit is contained in:
2025-05-11 19:48:12 +02:00
parent 881989a7bc
commit 3f22799f7b
2 changed files with 17 additions and 8 deletions

View File

@ -37,11 +37,20 @@ pub struct Match {
#[macro_export]
macro_rules! time {
($name:ident, $body:block) => {{
let start = std::time::Instant::now();
let result = $body;
let duration = start.elapsed();
println!("{} took {:?}", stringify!($name), duration);
result
}};
($name:ident, $body:block) => {
{
#[cfg(debug_assertions)]
{
let start = std::time::Instant::now();
let result = $body;
let duration = start.elapsed();
println!("{} took {:?}", stringify!($name), duration);
result
}
#[cfg(not(debug_assertions))]
{
$body
}
}
};
}

View File

@ -1,6 +1,6 @@
use math::round::ceil;
use ocl::SpatialDims::Three;
use ocl::{core, Buffer, Image, MemFlags, ProQue};
use ocl::{core, Buffer, CommandQueueProperties, Context, Image, MemFlags, ProQue};
use schemsearch_common::{time, Match, SearchBehavior};
use std::sync::OnceLock;
use std::time;