low-latency-data-structures 0.0.6

Experimental lock-free SPSC, SPMC broadcast, and SeqLock primitives tuned for ultra-low-latency systems
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//! Human-readable formatting for latency-class numbers.

/// Format a duration in nanoseconds with an auto-picked unit. Output is ASCII
/// (uses `us` rather than `µs`) so `{:>N}` width alignment works in bytes ==
/// display columns, which is what almost every terminal-table user wants.
pub fn ns(ns: u64) -> String {
    if ns < 10_000 {
        format!("{ns}ns")
    } else if ns < 10_000_000 {
        format!("{:.2}us", ns as f64 / 1_000.0)
    } else if ns < 10_000_000_000 {
        format!("{:.2}ms", ns as f64 / 1_000_000.0)
    } else {
        format!("{:.2}s", ns as f64 / 1_000_000_000.0)
    }
}