#stopwatch #timer #timekeeper

simple-stopwatch

Minimal stopwatch for rust, returns float values

5 releases

Uses old Rust 2015

0.1.4 Jan 21, 2018
0.1.3 Jan 21, 2018
0.1.2 Jan 21, 2018
0.1.1 Jan 21, 2018
0.1.0 Jan 21, 2018

#24 in #stopwatch

Download history 62/week @ 2024-03-11 73/week @ 2024-03-18 85/week @ 2024-03-25 69/week @ 2024-04-01 108/week @ 2024-04-08 59/week @ 2024-04-15 62/week @ 2024-04-22 63/week @ 2024-04-29 72/week @ 2024-05-06 51/week @ 2024-05-13 43/week @ 2024-05-20 64/week @ 2024-05-27 47/week @ 2024-06-03 42/week @ 2024-06-10 96/week @ 2024-06-17 47/week @ 2024-06-24

240 downloads per month

MIT license

6KB

rust-simple-stopwatch

Build Status

What is it?

A minimal no-thrills stopwatch. Returns time values as floats. Uses time::precise_time_ns under the hood.

Setup

Add the dependency simple-stopwatch to your Cargo.toml file, for example:

[dependencies]
simple-stopwatch="0.1.4"

Then import the stopwatch anywhere you would like to use it:

extern crate simple_stopwatch;
use simple_stopwatch::Stopwatch;

Example Use

There is minimal state in simple-stopwatch. Upon creation it grabs a timestamp, from which point its member functions will return elapsed time.

fn my_function() {
  let sw = Stopwatch::start_new();
  
  do_some_heavy_work();
  
  let elapsed_ms = sw.ms();
  println!("Time taken: {}ms", elapsed_ms);
}

The restart method updates the stored timestamp to the current time.

The code make use of a small amount of code from the time crate, which uses a system call to obtain a high precision time stamp. The overhead of this call appears to be very small from my experiments so far.

Inspiration / Other Projects

Dependencies

~0.6–1MB
~15K SLoC