optimize!() { /* proc-macro */ }
Expand description
Apply extreme optimizations to your code (requires Rust 1.45 or later).
Get stuff done with the help of optimize!
use plutonium::optimize;
macro_rules! qd_bench {
($($tokens:tt)*) => {{
let start = std::time::Instant::now();
$($tokens)*;
start.elapsed()
}}
};
let mut vec = Vec::<i32>::with_capacity(1000);
for _ in 0..1000 {
vec.push(rand::thread_rng().gen_range(1, 101));
}
let mut vec2 = vec.clone();
let unoptimized_time = qd_bench!(
vec.sort()
);
let optimized_time = qd_bench!(
optimize!(vec2.sort())
);
assert!(optimized_time < unoptimized_time);