Skip to content

AbrarNitk/exec_time

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Time Measure for Rust Functions

It will simply print execution time of a function

License: MIT Crates.io Build Status

Usage

[dependencies]
exec_time = "0.1.4"

Examples

In print log, it is printing Time <prefix>::<function_name>::<suffix>: <execution time> mills

Example 1

It will always print.

#[macro_use]
extern crate exec_time;

#[exec_time]
fn login() {
    std::thread::sleep(std::time::Duration::from_millis(100));
}

fn main() {
    login()
}
Time login: 102 mills

Example 2

It will print only in debug mode.

#[macro_use]
extern crate exec_time;

#[exec_time(print = "debug")]
fn login() {
    std::thread::sleep(std::time::Duration::from_millis(100));
}

fn main() {
    login()
}
Time login: 102 mills

Example 3

It will never print.

#[macro_use]
extern crate exec_time;

#[exec_time(print = "never")]
fn login() {
    std::thread::sleep(std::time::Duration::from_millis(100));
}

fn main() {
    login()
}

Example 4

It will print, prefix and suffix with function name.

#[macro_use]
extern crate exec_time;

#[exec_time(print = "always", prefix = "user/lib", suffix="route")]
fn login() {
    std::thread::sleep(std::time::Duration::from_millis(100));
}

fn main() {
    login()
}
Time user/lib::login::route: 102 mills

Note Point

Here print, prefix and suffix all are optional field. Default value of print is always. print may be always(by default), debug, never. If the value is always it will print always. If value is debug, It will print only in debug mode else, It will never print.

Releases

No releases published

Packages

No packages published

Languages