#performance #events #durations #functional-reactive-programming #mark #period #marking

performance-mark

A utility library for marking events and durations for performance-tracking purposes

3 releases (breaking)

0.3.0 Oct 18, 2023
0.2.0 Sep 14, 2023
0.1.0 Apr 18, 2023

#1239 in WebAssembly

Download history 4/week @ 2024-01-05 6/week @ 2024-01-12 2/week @ 2024-01-19 1/week @ 2024-01-26 4/week @ 2024-02-02 10/week @ 2024-02-09 33/week @ 2024-02-16 127/week @ 2024-02-23 52/week @ 2024-03-01 31/week @ 2024-03-08 25/week @ 2024-03-15 42/week @ 2024-03-22 73/week @ 2024-03-29 20/week @ 2024-04-05 22/week @ 2024-04-12 12/week @ 2024-04-19

137 downloads per month
Used in 9 crates (via flow-graph-interpreter)

Apache-2.0

12KB
295 lines

performance-mark

This library is for marking periods of time and events in those periods.

Usage

use performance_mark::Performance;
use std::thread::sleep;
use std::time::Duration;

fn main() {
  let wait = Duration::from_millis(100);

  let mut perf = Performance::new();

  perf.mark("start");

  sleep(wait);

  perf.start("middle");
  sleep(wait);
  perf.end("middle");

  sleep(wait);

  perf.mark("end");

  println!("{:?}", perf.events());

  assert_eq!(perf.events().len(), 2);
  assert!(perf.events()[0] < perf.events()[1]);
  assert_eq!(perf.periods().len(), 1);
  assert!(perf.periods().get("middle").unwrap().duration() >= wait);
}

Dependencies

~180KB