RunMat - Fast, Free, Modern MATLAB Runtime
Run MATLAB code for free with RunMat: high-performance, open-source runtime with Jupyter kernel, BLAS/LAPACK, beautiful plotting, and JIT compilation. Replacement for MATLAB and GNU Octave with dramatically faster performance.
🚀 Open Source • MIT Licensed • Free ForeverThe Fast, Free, Modern
The Fast, Free, Modern
MATLAB Runtime
Run your existing MATLAB/Octave code with full language grammar and core semantics. No license fees, no lock-in.
Why Use RunMat?
✅
Full Language Semantics
Run the whole language, not a subset: proper indexing (
end
/colon/masks), multiple returns, classdef OOP, events/handles. What you already write just works. See coverage.⚡
150x-180x Faster Than Octave
Instant startup and triple-digit speedups vs Octave across startup, matrix ops, math, and control flow. Read the results.
📦
Slim Core + Packages
Best practices borrowed from the Python/Rust/JavaScript ecosystems. Install native Rust or source MATLAB packages. See the package manager.
🧱
Portable & Lightweight
Same code, everywhere: small static binaries with consistent performance on Linux/macOS/Windows and embedded devices. Great for laptops, clusters, and CI.
Modern Compiler and Executor of MATLAB Code
Boots in 5ms, GPU optimizes by default, single compact cross-platform binary.
$runmat
RunMat v0.1.0 by Dystr (https://dystr.com)
Fast, free, modern MATLAB runtime with JIT compilation and GC
Type 'help' for help, 'exit' to quit
% Generate data
runmat>x = linspace(0, 4 * pi, 1000);
ans = Num(1000x1 vector)
runmat>y = sin(x) .* exp(-x/10);
ans = Num(1000x1 vector)
% Create beautiful plot
runmat>plot(x, y);
[Interactive plot window opened]
% Matrix operations
runmat>A = randn(1000, 1000);
ans = Matrix(1000x1000 double)
runmat>B = A * A';
ans = Matrix(1000x1000 double)
runmat>eigenvals = eig(B);
ans = Num(1000x1 complex vector)
runmat>▊
RunMat - Interactive Visualization

Full Language Semantics
RunMat implements the full grammar and core semantics of the MATLAB language. Seelanguage coverage.
Feature Category | RunMat | Octave |
---|---|---|
Grammar & parser (full surface) | ✅ | ✅ |
Arrays & indexing (end, colon, masks, N-D) | ✅ | ✅ |
Multiple returns, varargin/varargout, nargin/nargout | ✅ | ✅ |
classdef OOP + operator overloading | ✅ | ❌ |
Events/handles (addlistener/notify/isvalid/delete) | ✅ | ❌ |
Imports precedence & static access (Class.*) | ✅ | ❌ |
Metaclass operator ?Class | ✅ | ❌ |
String arrays (double-quoted) | ✅ | ❌ |
Standardized MException identifiers | ✅ | ❌ |
Blazing Fast Performance
Benchmarked on an Apple M2 Max, 32GB.
Reproduce with benchmarks
in the repo.
Benchmark | Octave (s) | RunMat (s) | Speedup |
---|---|---|---|
Startup Time | 0.9147 | 0.0050 | 183x |
Matrix Operations | 0.8220 | 0.0050 | 164x |
Mathematical Functions | 0.8677 | 0.0057 | 163x |
Control Flow | 0.8757 | 0.0057 | 155x |
Free and Open Source, Forever
Copy and paste the command below to get started with RunMat.
Linux & macOS
curl -fsSL https://runmat.org/install.sh | sh
Windows
iwr https://runmat.org/install.ps1 | iex
Ready to Experience the Future?
Join researchers and engineers who’ve made the switch to RunMat.