llam 0.1.4

Safe, Go-style Rust bindings for the LLAM runtime
use std::time::Instant;

fn main() {
    let iters = std::env::var("LLAM_RS_BENCH_ITERS")
        .ok()
        .and_then(|value| value.parse::<usize>().ok())
        .unwrap_or(50_000);

    llam::Runtime::builder()
        .profile(llam::Profile::ReleaseFast)
        .run(move || {
            let start = Instant::now();
            for _ in 0..iters {
                let handle = llam::spawn!({ 1usize });
                assert_eq!(handle.join().expect("join failed"), 1);
            }
            println!(
                "spawn_join: {:.2} ops/s",
                iters as f64 / start.elapsed().as_secs_f64().max(1e-9)
            );
            Ok(())
        })
        .expect("bench failed");
}