Daniel Wirtz 252b843c4b
General cleanup (#525)
* Cleans up and trims the overly large builtins file by ~1600 lines
* Properly propagate inline assembler-like argument types
* Use https in examples
* Reformat README
2019-03-08 14:24:48 +01:00
..
2018-07-22 02:55:46 +02:00
2019-03-06 21:27:54 +01:00
2019-02-21 02:14:35 +01:00
2019-03-08 14:24:48 +01:00
2019-02-21 02:14:35 +01:00
2019-03-06 21:27:54 +01:00

N-body system

An AssemblyScript example. This is actually a benchmark - visualizing it just so happened.

Instructions

First, install the development dependencies:

$> npm install

Now, to build assembly/index.ts to an untouched and an optimized .wasm including their respective .wat representations, run:

$> npm run asbuild

Afterwards, run npm run server to start a local server. Should also automatically launch a browser.

To run the benchmark:

$> npm run test [steps=1000000]

Benchmark

Environment:

  • MacBook Pro (Retina, 15-inch, Late 2013)
  • macOS 10.14.3
  • node.js v11.10.1
  • rustc 1.35.0-nightly (a9da8fc9c 2019-03-04)

Results:

Target Time, ms Size, KB
AssemblyScript WASM 2921 2
AssemblyScript ASMJS 3807 19*
JavaScript 2757 5*
Rust WASM 2866 20 / 2**

* unminified

** after wasm-gc