A minimal, scoped timing utility for Rust.
time-dilation provides a simple ScopedTimer struct that starts measuring time when it's created and stops when it goes out of scope (is dropped).
It leverages the RAII (Resource Acquisition Is Initialization) pattern: the timer resource is acquired on creation, and measurement implicitly ends when the resource is released (on drop).
Optionally, when the enable_summary feature is activated, the timer will automatically print a human-readable, color-coded summary of the elapsed time to the console when it is dropped.
- Scoped Timing: Automatically measures the duration of a code block using RAII.
- Simple API: Easy to use with
ScopedTimer::new("description"). - Optional Summary: Enable the
enable_summaryfeature to automatically print elapsed time on drop. - Human-Readable Output: Formats durations appropriately (ns, µs, ms, s).
- Color-Coded Grading: The optional summary includes a simple opinionated color grade (Great/Good/Warning/Bad) based on the duration.
- Manual Measurement: Get the current elapsed time anytime using
.elapsed().
Add this to your Cargo.toml:
[dependencies]
time-dilation = "0.1.10"