bench_rust 0.1.4

Benchmark functions
Documentation
use std::{time::{Instant, Duration}};
use chrono::prelude::*;

pub fn benchmark(function: fn(), iterations: u128 , verbose:bool){
    let mut min:u128=0;
    let mut max:u128=0;
    let mut aco:u128=0;
    
    println!("\nStarting benchmark {:?}",Utc::now());
    for i in 1..iterations+1{
        let start = Instant::now();
        function();
        let duration = start.elapsed().as_nanos();
        if i == 1{
            max = duration;
            min = duration;
            aco = duration;
        }
        else{
            if max < duration{
                max = duration;
            }
            if min > duration{
                min = duration;
            }
            aco += duration;
        }
        if verbose{
         println!("Iteration {:0?} time elapsed Min:{:1?} Avg:{:2?} - Max:{:3?} duration:{:4?}", i,min,aco/i,max,duration);   
        }
    }
    println!("Time result Min:{:0?} Avg:{:1?} Max:{:2?} Iterations:{}", min,aco/iterations,max,iterations);
    println!("End benchmark {:?}\n",Utc::now());
}