#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

#1343 in WebAssembly

Download history 25/week @ 2024-03-11 28/week @ 2024-03-18 45/week @ 2024-03-25 66/week @ 2024-04-01 24/week @ 2024-04-08 17/week @ 2024-04-15 27/week @ 2024-04-22 23/week @ 2024-04-29 17/week @ 2024-05-06 31/week @ 2024-05-13 24/week @ 2024-05-20 19/week @ 2024-05-27 20/week @ 2024-06-03 22/week @ 2024-06-10 23/week @ 2024-06-17 30/week @ 2024-06-24

96 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

~175KB