2020-08-04 20:15:08 +08:00
|
|
|
import { add } from "./add.wasm";
|
|
|
|
import {
|
|
|
|
add as mathAdd,
|
|
|
|
factorial,
|
|
|
|
factorialJavascript,
|
|
|
|
fibonacci,
|
|
|
|
fibonacciJavascript
|
|
|
|
} from "./math";
|
2019-05-24 18:30:43 +08:00
|
|
|
|
|
|
|
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
|
|
|
}
|