nano_clock

Crates.ionano_clock
lib.rsnano_clock
version1.0.0
created_at2025-07-20 15:29:52.548839+00
updated_at2025-07-20 15:29:52.548839+00
descriptionUltra-fast and accurate nanosecond-level timing utilities
homepage
repositoryhttps://github.com/TachyonConcepts/NanoClock
max_upload_size
id1761192
size18,585
(TachyonConcepts)

documentation

README

🕒 nano-clock

Ultra-fast date/time formatting for HTTP headers and system profiling.
Written in Rust, sprinkled with inline assembly, optimized for the lowest latency possible.


🔥 Features

  • Returns current date/time in (i32, u8, u8, u8, u8, u8, u8) tuple format
    (year, month, day, hour, minute, second, weekday)
  • Blazing-fast formatting of HTTP date headers (Date: ... GMT) in preallocated buffers
  • Optional inline assembly (nano_clock_asm) for even lower latency
  • Includes both time() (wall-clock) and clock_gettime(CLOCK_MONOTONIC) for monotonic measurements
  • Zero allocations, no String, no chrono, no nonsense.

📦 Example

use nano_clock::{nano_clock, nano_http_date};

fn main() {
    let (y, m, d, h, min, s, w) = nano_clock();
    println!("Now: {y:04}-{m:02}-{d:02} {h:02}:{min:02}:{s:02} (weekday: {w})");

    let mut buf = [0u8; 35];
    unsafe {
        nano_http_date(&mut buf, false);
    }
    println!("{}", std::str::from_utf8(&buf).unwrap());
}
Commit count: 0

cargo fmt