#[cfg(target_arch = "wasm32")]
#[must_use]
pub(in crate::db::executor) fn start_execution_timer() -> u64 {
canic_cdk::utils::time::now_millis()
}
#[cfg(target_arch = "wasm32")]
#[must_use]
pub(in crate::db::executor) fn elapsed_execution_micros(execution_started_at_ms: u64) -> u64 {
canic_cdk::utils::time::now_millis()
.saturating_sub(execution_started_at_ms)
.saturating_mul(1_000)
}
#[cfg(not(target_arch = "wasm32"))]
#[must_use]
pub(in crate::db::executor) fn start_execution_timer() -> std::time::Instant {
std::time::Instant::now()
}
#[cfg(not(target_arch = "wasm32"))]
#[must_use]
pub(in crate::db::executor) fn elapsed_execution_micros(
execution_started_at: std::time::Instant,
) -> u64 {
u64::try_from(execution_started_at.elapsed().as_micros()).unwrap_or(u64::MAX)
}