Benchmarks
Measured, not asserted. Dense linear algebra in Tessero runs at BLAS-class speed, the same on both backends, from a committed and reproducible harness.
Tessero's philosophy for performance is the same as for correctness: measure it, and let anyone re-run the measurement. Dense linear algebra, the part that dominates real numerical work, is routed through OpenBLAS, so matrix multiply and the routines built on it run at BLAS-class throughput. Both backends share one C kernel, so the FFI package and the native extension measure the same.
Matrix multiply: OpenBLAS vs the portable fallback
The kernel ships a portable, cache-blocked fallback for environments without a BLAS library. It is correct but not tuned. Routing the same operation through OpenBLAS is the real win. The figures below are a 1024 by 1024 double-precision matrix multiply on a commodity Intel i7-4790, measured back to back in the same process (median of several runs, so machine load cannot skew the ratio).
| Threads | Fallback | OpenBLAS | Speedup |
|---|---|---|---|
| 1 thread | 4.7 GFLOPS | 42.2 GFLOPS | 9.0x |
| 4 threads | 4.6 GFLOPS | 78.2 GFLOPS | 16.9x |
So the honest figure is roughly 17x at four threads, and about 9x even single-threaded, on this host. The fallback does not thread, while OpenBLAS scales, which is why the ratio grows with cores. The same numbers come back on both backends because they run the same kernel.
How it is measured
- One process, back to back. The fallback and OpenBLAS paths run in the same process so machine load cannot favour one over the other.
- Median of several runs, to discard warm-up and scheduling noise.
- Hardware and thread count are always stated. Absolute GFLOPS depend on the host; the ratio is the portable claim.
- The harness is committed in the library repository, so the numbers can be reproduced with a single command.
New to Tessero? See getting started, the verified NumPy and SciPy parity, or how to install it.