This is a bench-mark for observing the differences in various matrix-math implementations.
deno bench run the bench mark
These will all build to the temp directory. You need to run all of them for benches to successfully run.
deno task build:wasmwill build the .wat files to wasmdeno task gen:presized-funcswill create source-code for hard-coded matrix opsdeno task gen:rand-datawill generate random test datadeno task gen:web-benchwill generate a set of bench tests for webdeno task gen:web-bench-xlwill generate a set of larger example bench tests for webdeno task benchwill run benchmarks and write to consoledeno task bench:jsonwill run benchmarks and write totemp/bench.jsondeno task bench:webwill run web benchmarks and write totemp/web-bench.jsondeno task run:to-csvwill converttemp/bench.jsonto csvdeno task run:to-csvwill converttemp/web-bench.jsonto csvdeno task run:to-mdwill converttemp/bench.jsonto markdowndeno task run:poiwill filtertemp/bench.jsonto a series of comparision points in both csv and mddeno task run:web:poiwill filtertemp/web-bench.jsonto a series of comparision points in both csv and mddeno task testwill run tests
Other functions are for outputing bench data in different formats
- Func
- Loop
- Loop Prealloc
- unrolled
- unrolled dynamic
- flat
- flat col major
- flat simple
- flat unrolled
- F64
- F32
- I32
- F64 flat
- F32 flat
- I32 flat
- flat func
- WASM F64
- WASM SIMD F64
- WASM SIMD F32
- WASM SIMD I64
- WebGL F32
- WebGPU F32
