diff --git a/examples/n-body/README.md b/examples/n-body/README.md index 257b4a20..94cd3a11 100644 --- a/examples/n-body/README.md +++ b/examples/n-body/README.md @@ -32,16 +32,18 @@ Benchmark ***Environment:*** - MacBook Pro (Retina, 15-inch, Late 2013) - macOS 10.14.3 -- node.js v11.9.0 -- rustc 1.33.0-nightly (ceb251214 2019-01-16) +- node.js v11.10.1 +- rustc 1.35.0-nightly (a9da8fc9c 2019-03-04) ***Results:*** | Target | Time, ***ms*** | Size, ***KB*** | |-------------------------|-----------------|----------------| -| **AssemblyScript WASM** | **2901** | **2** | -| AssemblyScript ASMJS | 3720 | 19* | -| JavaScript | 2716 | 5* | -| Rust WASM | 2883 | 13 | +| **AssemblyScript WASM** | **2921** | **2** | +| AssemblyScript ASMJS | 3807 | 19* | +| JavaScript | 2757 | 5* | +| Rust WASM | 2866 | 20 / 2** | ___* unminified___ + +___** after wasm-gc___ diff --git a/examples/n-body/build/rust.optimized.wasm b/examples/n-body/build/rust.optimized.wasm old mode 100755 new mode 100644 index 7c0c91db..7b47249b Binary files a/examples/n-body/build/rust.optimized.wasm and b/examples/n-body/build/rust.optimized.wasm differ diff --git a/examples/n-body/rust/Cargo.lock b/examples/n-body/rust/Cargo.lock index 69eb61ee..378f5e81 100644 --- a/examples/n-body/rust/Cargo.lock +++ b/examples/n-body/rust/Cargo.lock @@ -1,3 +1,5 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. [[package]] name = "rust_nbody" version = "0.1.0" diff --git a/examples/n-body/rust/README.md b/examples/n-body/rust/README.md index d4fb94e5..dbb8c4b2 100644 --- a/examples/n-body/rust/README.md +++ b/examples/n-body/rust/README.md @@ -1,7 +1,7 @@ ### Build ```bash -cargo build --release --target=wasm32-unknown-unknown +cargo +nightly build --release --target wasm32-unknown-unknown ``` -***Next step optimize target wasm via wasm-opt.*** +***Next step optimize target wasm via wasm-gc*** diff --git a/examples/n-body/rust/index.js b/examples/n-body/rust/index.js index 5686c0ef..febcbb2f 100644 --- a/examples/n-body/rust/index.js +++ b/examples/n-body/rust/index.js @@ -8,8 +8,8 @@ const compiled = new WebAssembly.Module( const imports = { env: { memory: new WebAssembly.Memory({ initial: 17 }), - abort: (filename, line, column) => { - throw Error("abort called at " + line + ":" + colum); + abort: (_filename, line, column) => { + throw Error("abort called at " + line + ":" + column); } } }; diff --git a/examples/n-body/rust/src/lib.rs b/examples/n-body/rust/src/lib.rs index a1c32b84..ce295d07 100644 --- a/examples/n-body/rust/src/lib.rs +++ b/examples/n-body/rust/src/lib.rs @@ -1,6 +1,6 @@ // Code adopted from https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/nbody-rust-1.html -#![feature(core_intrinsics, panic_implementation)] +#![feature(core_intrinsics)] #![no_std] use core::intrinsics; @@ -156,18 +156,18 @@ fn offset_momentum(bodies: &mut [Planet; N_BODIES]) { } #[no_mangle] -pub unsafe extern "C" fn init() { +pub unsafe extern fn init() { offset_momentum(&mut BODIES); } #[no_mangle] -pub unsafe extern "C" fn step() -> f64 { +pub unsafe extern fn step() -> f64 { advance(&mut BODIES, 0.01); energy(&BODIES) } #[no_mangle] -pub unsafe extern "C" fn bench(steps: i32) { +pub unsafe extern fn bench(steps: i32) { for _ in 0..steps { advance(&mut BODIES, 0.01); }