seq-timer

Crates.ioseq-timer
lib.rsseq-timer
version0.1.0
sourcesrc
created_at2022-06-29 08:02:08.715278
updated_at2022-06-29 08:02:08.715278
descriptionA simple timer for sequential events
homepage
repositoryhttps://github.com/imbolc/seq-timer
max_upload_size
id615277
size8,437
Imbolc (imbolc)

documentation

README

License Crates.io Docs.rs

seq-timer

A simple timer for sequential events

use std::{ time::Duration, thread::sleep };

let mut timer = seq_timer::Timer::new();

// starts the first event
timer.start("the first event");
sleep(Duration::from_millis(1));

// finishes the first event and starts the second one
// you can also `.finish()` the current event manually
timer.start("the second event");
sleep(Duration::from_millis(10));

// finishes the last event and prints sorted measurments to stdout:
timer.print();

The output would be similar to:

the second event | 10078204 ns |  88%
 the first event |  1265423 ns |  11%

The timer also implements Display, but you must finish the last event manually in this case: debug!("{}", timer.finish())

Contributing

We appreciate all kinds of contributions, thank you!

Note on README

The README.md file isn't meant to be changed directly. It instead generated from the crate's docs by the cargo-readme command:

  • Install the command if you don't have it: cargo install cargo-readme
  • Change the crate-level docs in src/lib.rs, or wrapping text in README.tpl
  • Apply the changes: cargo readme > README.md

If you have rusty-hook installed the changes will apply automatically on commit.

License

This project is licensed under the MIT license.

Commit count: 1

cargo fmt