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:wasm
will build the .wat files to wasmdeno task gen:presized-funcs
will create source-code for hard-coded matrix opsdeno task gen:rand-data
will generate random test datadeno task gen:web-bench
will generate a set of bench tests for webdeno task gen:web-bench-xl
will generate a set of larger example bench tests for webdeno task bench
will run benchmarks and write to consoledeno task bench:json
will run benchmarks and write totemp/bench.json
deno task bench:web
will run web benchmarks and write totemp/web-bench.json
deno task run:to-csv
will converttemp/bench.json
to csvdeno task run:to-csv
will converttemp/web-bench.json
to csvdeno task run:to-md
will converttemp/bench.json
to markdowndeno task run:poi
will filtertemp/bench.json
to a series of comparision points in both csv and mddeno task run:web:poi
will filtertemp/web-bench.json
to a series of comparision points in both csv and mddeno task test
will 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