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

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

#1276 in WebAssembly

Download history 9/week @ 2024-02-04 9/week @ 2024-02-11 93/week @ 2024-02-18 97/week @ 2024-02-25 27/week @ 2024-03-03 27/week @ 2024-03-10 31/week @ 2024-03-17 39/week @ 2024-03-24 72/week @ 2024-03-31 20/week @ 2024-04-07 19/week @ 2024-04-14 25/week @ 2024-04-21 29/week @ 2024-04-28 16/week @ 2024-05-05 21/week @ 2024-05-12

91 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