Recently ran into two performance comparisons including Julia.

THE LINEAR ALGEBRA MAPPING PROBLEM. CURRENT STATE

OF LINEAR ALGEBRA LANGUAGES AND LIBRARIES.

shows that using `BLAS`

for dense matrix operations, all libraries or languages like `Armadillo, Eigen, Julia, Matlab, NumPy, Octave, R`

give comparable performance, within a small margin.

The actual surprise comes here:

This site benchmarks programming languages on exemplary tasks. Interesting are the Julia VS Zig benchmarks, since Zig, as Julia, uses `LLVM`

as optimizing compiler backend.

While `Zig `

can be faster than `Julia `

by a margin, it consumes incredibly little memory.

Something to learn?

## Spectral-norm

### Input: 8000

lang | code | time | stddev | peak-mem | time(user) | time(kernel) | compiler/runtime |
---|---|---|---|---|---|---|---|

zig | 2.zig | 895ms | 1.9ms | 0.3MB | 1720ms | 0ms | zig 0.10.0-dev |

julia | 2.jl | 1269ms | 5.6ms | 198.7MB | 2133ms | 140ms | julia 1.7.1 |

julia | 3.jl | 2051ms | 36ms | 203.3MB | 3577ms | 147ms | julia 1.7.1 |

zig | 1.zig | 3848ms | 0.6ms | 0.2MB | 3840ms | 0ms | zig 0.10.0-dev |