feat: update

This commit is contained in:
2023-01-22 22:16:18 +08:00
parent 36465c91bd
commit d5667ba1df

View File

@@ -1,22 +1,32 @@
use std::fs;
use std::time::Instant; use std::time::Instant;
use anyhow::Result; use anyhow::Result;
use wasmtime::{Config, Engine, Linker, Module, Store}; use wasmtime::{Config, Engine, Linker, Module, Store};
fn load_file(file: &str) -> Result<Vec<u8>> {
Ok(fs::read(file)?)
}
fn main() -> Result<()> { fn main() -> Result<()> {
let instant = Instant::now(); let instant = Instant::now();
let config = Config::default(); let config = Config::default();
let engine = Engine::new(&config).unwrap(); let engine = Engine::new(&config).unwrap();
let linker = Linker::new(&engine);
println!("T1: {}ms", instant.elapsed().as_millis()); 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_file = std::env::var("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 was_bytes = load_file(&wasm_file)?;
let is_release = std::env::var("RELEASE").unwrap_or_else(|_| "no".into()) == "yes";
println!("T1.2: {}ms", instant.elapsed().as_millis()); 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()); 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, ()); let mut store = Store::new(&engine, ());
println!("T3: {}ms", instant.elapsed().as_millis()); println!("T3: {}ms", instant.elapsed().as_millis());
@@ -62,6 +72,7 @@ fn main() -> Result<()> {
println!("Result: {}", ss); println!("Result: {}", ss);
free.call(&mut store, eval_result)?; free.call(&mut store, eval_result)?;
println!("T7: {}ms", instant.elapsed().as_millis()); println!("T7: {}ms", instant.elapsed().as_millis());
}
Ok(()) Ok(())
} }