Files
RustIJVM/benches/recurse.rs

36 lines
761 B
Rust

#![feature(test)]
extern crate rustijvm;
extern crate test;
use std::sync::{Arc, Mutex};
use std::io::Cursor;
use test::Bencher;
fn run_calc(input: &'static str) {
let rc = Arc::new(Mutex::new(Cursor::new(Vec::new())));
let mut machine = rustijvm::machine::Machine::new_from_file("files/advanced/SimpleCalc.ijvm").unwrap();
machine.set_output(rc);
machine.set_input(Box::new(input.as_bytes()));
machine.run().unwrap();
}
#[bench]
fn factorial_2(b: &mut Bencher) {
b.iter(|| run_calc("2!?."));
}
#[bench]
fn factorial_5(b: &mut Bencher) {
b.iter(|| run_calc("5!?."));
}
#[bench]
fn factorial_7(b: &mut Bencher) {
b.iter(|| run_calc("7!?."));
}
#[bench]
fn factorial_10(b: &mut Bencher) {
b.iter(|| run_calc("10!?."));
}