feat: update
This commit is contained in:
@@ -1,22 +1,32 @@
|
||||
use std::fs;
|
||||
use std::time::Instant;
|
||||
|
||||
use anyhow::Result;
|
||||
use wasmtime::{Config, Engine, Linker, Module, Store};
|
||||
|
||||
fn load_file(file: &str) -> Result<Vec<u8>> {
|
||||
Ok(fs::read(file)?)
|
||||
}
|
||||
|
||||
fn main() -> Result<()> {
|
||||
let instant = Instant::now();
|
||||
let config = Config::default();
|
||||
let engine = Engine::new(&config).unwrap();
|
||||
let linker = Linker::new(&engine);
|
||||
println!("T1: {}ms", instant.elapsed().as_millis());
|
||||
|
||||
let wasm_bytes_release = include_bytes!("/Users/hatterjiang/Code/hattergit/secure-javascript-container/javascript-engine/target/wasm32-unknown-unknown/release/javascript_engine.wasm");
|
||||
let wasm_bytes_debug = include_bytes!("/Users/hatterjiang/Code/hattergit/secure-javascript-container/javascript-engine/target/wasm32-unknown-unknown/debug/javascript_engine.wasm");
|
||||
let is_release = std::env::var("RELEASE").unwrap_or_else(|_| "no".into()) == "yes";
|
||||
let wasm_file = std::env::var("WASM")?;
|
||||
let was_bytes = load_file(&wasm_file)?;
|
||||
println!("T1.2: {}ms", instant.elapsed().as_millis());
|
||||
let module = Module::new(&engine, if is_release { &wasm_bytes_release[..] } else { &wasm_bytes_debug[..] })?;
|
||||
let module = Module::new(&engine, &was_bytes)?;
|
||||
println!("T2: {}ms", instant.elapsed().as_millis());
|
||||
|
||||
let linker = Linker::new(&engine);
|
||||
for _ in 0..3 {
|
||||
println!(">>>>>>>>>>>>>>>>>>>>>>>>");
|
||||
let instant = Instant::now();
|
||||
let linker = linker.clone();
|
||||
let module = module.clone();
|
||||
|
||||
let mut store = Store::new(&engine, ());
|
||||
println!("T3: {}ms", instant.elapsed().as_millis());
|
||||
|
||||
@@ -62,6 +72,7 @@ fn main() -> Result<()> {
|
||||
println!("Result: {}", ss);
|
||||
free.call(&mut store, eval_result)?;
|
||||
println!("T7: {}ms", instant.elapsed().as_millis());
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user