mirror of
https://github.com/fluencelabs/parity-wasm
synced 2025-05-01 01:52:15 +00:00
30 lines
803 B
Rust
30 lines
803 B
Rust
|
#![feature(test)]
|
||
|
|
||
|
extern crate parity_wasm;
|
||
|
extern crate time;
|
||
|
|
||
|
use std::fs;
|
||
|
|
||
|
fn rate(file_name: &'static str, iterations: u64) {
|
||
|
let file_size = fs::metadata(file_name).expect(&format!("{} to exist", file_name)).len();
|
||
|
let mut total_ms = 0;
|
||
|
|
||
|
for _ in 0..iterations {
|
||
|
let start = time::PreciseTime::now();
|
||
|
let _module = parity_wasm::deserialize_file(file_name);
|
||
|
let end = time::PreciseTime::now();
|
||
|
|
||
|
total_ms += start.to(end).num_milliseconds();
|
||
|
}
|
||
|
|
||
|
println!("Rate for {}: {} MB/s", file_name,
|
||
|
(file_size as f64 * iterations as f64 / (1024*1024) as f64) / // total work megabytes
|
||
|
(total_ms as f64 / 1000f64) // total seconds
|
||
|
);
|
||
|
}
|
||
|
|
||
|
fn main() {
|
||
|
rate("./res/cases/v1/clang.wasm", 10);
|
||
|
rate("./res/cases/v1/hello.wasm", 100);
|
||
|
rate("./res/cases/v1/with_names.wasm", 100);
|
||
|
}
|