exec_time

Crates.ioexec_time
lib.rsexec_time
version0.1.4
sourcesrc
created_at2019-12-08 12:13:57.116066
updated_at2019-12-10 01:38:30.568407
descriptionPrint execution time of a function
homepage
repositoryhttps://github.com/AbrarNitk/exec_time
max_upload_size
id187272
size3,857
Abrar Khan (AbrarNitk)

documentation

README

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.

Commit count: 29

cargo fmt