#profiling #performance #macro #time

macro tramer

A lightweight procedural macro library for profiling function execution time with customizable time units

3 releases

0.1.2 Feb 5, 2025
0.1.1 Feb 5, 2025
0.1.0 Feb 5, 2025

#733 in Procedural macros

MIT license

5KB

tramer

Crates.io Documentation License

Usage

add tramer to your Cargo.toml:

[dependencies]
tramer = "0.1.0"

use it:

use tramer::tramer;

#[tramer("millis")]
fn profile_millis() {
    std::thread::sleep(std::time::Duration::from_millis(150));
}

#[tramer("nanos")]
fn profile_nanos() {
    std::thread::sleep(std::time::Duration::from_micros(300));
}

#[tramer("secs")]
fn profile_seconds() {
    std::thread::sleep(std::time::Duration::from_millis(250));
}

Dependencies

~210–640KB
~15K SLoC