Performance

The core aim of this library, is to provide platform native, friction free performance. I'm confident that I can't do better than this - at least outside of an absurd about of effort.

In general cross platform performance is a hard problem. We sidestep it by simply providing compiletime @inline shims to platform native BLAS implementations.

JVM JS Native Cross
Data structure Array[Double] Float64Array Array[Double] NArray[Double]
Shims to https://github.com/luhenry/netlib https://github.com/stdlib-js/blas CBLAS Best available

Consider browsing the vecxt api, and particulaly the extensions object. You'll see that most definitions are @inline anotated - i.e. there is zero runtime overhead calling this library.

JS

On Node, this shim ships with it's own C BLAS implementation.

In browser / elsewhere, it's done in loop-unrolled native arrays.

TODO: Investigate webassembly?

In this article