#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

#820 in WebAssembly

Download history 5/week @ 2023-12-11 13/week @ 2023-12-18 9/week @ 2023-12-25 8/week @ 2024-01-08 3/week @ 2024-01-15 2/week @ 2024-01-22 9/week @ 2024-02-05 10/week @ 2024-02-12 93/week @ 2024-02-19 100/week @ 2024-02-26 30/week @ 2024-03-04 25/week @ 2024-03-11 28/week @ 2024-03-18 45/week @ 2024-03-25

132 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