webpack/examples/wasm-simple/example.js

29 lines
753 B
JavaScript
Raw Normal View History

2020-08-04 20:15:08 +08:00
import { add } from "./add.wasm";
import {
add as mathAdd,
factorial,
factorialJavascript,
fibonacci,
fibonacciJavascript
} from "./math";
console.log(add(22, 2200));
console.log(mathAdd(10, 101));
console.log(factorial(15));
console.log(factorialJavascript(15));
console.log(fibonacci(15));
console.log(fibonacciJavascript(15));
timed("wasm factorial", () => factorial(1500));
timed("js factorial", () => factorialJavascript(1500));
timed("wasm fibonacci", () => fibonacci(22));
timed("js fibonacci", () => fibonacciJavascript(22));
2017-10-30 20:56:57 +08:00
function timed(name, fn) {
2020-08-04 20:15:08 +08:00
if (!console.time || !console.timeEnd) return fn();
2017-10-30 20:56:57 +08:00
// warmup
2020-08-04 20:15:08 +08:00
for (var i = 0; i < 10; i++) fn();
console.time(name);
for (var i = 0; i < 5000; i++) fn();
console.timeEnd(name);
2017-10-30 20:56:57 +08:00
}