A blazing-fast, open-source MATLAB/Octave runtime, by the creators of Dystr
๐ Website โข ๐ Documentation
RunMat is a modern, high-performance runtime for MATLABยฎ and GNU Octave code that eliminates license fees, vendor lock-in, and performance bottlenecks. Built from the ground up in Rust with a V8-inspired architecture, it delivers:
- ๐ 150-180x faster execution than Octave through JIT compilation
- โก Instant startup (5ms vs 900ms+ in Octave) via advanced snapshotting
- ๐จ GPU-accelerated plotting that's beautiful and responsive
- ๐ Native Jupyter support with rich interactive widgets
- ๐ก๏ธ Memory safety and zero crashes guaranteed by Rust
- ๐ฐ $0 licensing costs - completely free and open source
| Benchmark | GNU Octave 9.4 | RunMat (JIT) | Speedup |
|---|---|---|---|
| Startup time (cold) | 915ms | 5ms | 183x faster |
| Matrix operations | 822ms | 5ms | 164x faster |
| Mathematical functions | 868ms | 5ms | 163x faster |
| Control flow (loops) | 876ms | 6ms | 155x faster |
Benchmarks run on Apple M2 Max with BLAS/LAPACK optimization. See benchmarks/ for reproducible test scripts and detailed results.
|
๐ฌ For Researchers & Academics
|
โ๏ธ For Engineers & Industry
|
# Quick install (Linux/macOS)
curl -fsSL https://runmat.org/install.sh | sh
# Quick install (Windows PowerShell)
iwr https://runmat.org/install.ps1 | iex
# Or install from crates.io
cargo install runmat --features gui
# Or build from source
git clone https://github.com/runmat-org/runmat.git
cd runmat && cargo build --release --features guiFor BLAS/LAPACK acceleration on Linux, install the system OpenBLAS package before building:
sudo apt-get update && sudo apt-get install -y libopenblas-dev# Start the interactive REPL
runmat
# Or run an existing .m file
runmat script.m
# Or pipe a script into RunMat
echo "a = 10; b = 20; c = a + b" | runmat# Register RunMat as a Jupyter kernel
runmat --install-kernel
# Launch JupyterLab with RunMat support
jupyter lab% Your existing MATLAB code just works
A = [1 2 3; 4 5 6; 7 8 9];
B = A' * A;
eigenvals = eig(B);
plot(eigenvals);% Matrix operations that fly - 150x+ faster than Octave
n = 1000;
A = randn(n, n);
B = randn(n, n);
tic; C = A * B; toc % Executes in ~5ms vs 800ms+ in Octave% Create a stunning 3D surface plot
[X, Y] = meshgrid(-2:0.1:2, -2:0.1:2);
Z = X .* exp(-X.^2 - Y.^2);
surf(X, Y, Z);RunMat's tiered execution engine delivers both fast startup and blazing runtime performance.
| Component | Purpose | Technology |
|---|---|---|
| ๐ฏ runmat-ignition | Baseline interpreter for instant startup | HIR-to-bytecode compiler + stack-based interpreter |
| โก runmat-turbine | Optimizing JIT compiler for hot code | Cranelift backend |
| ๐ง runmat-gc | High-performance memory management | Generational GC with pointer compression |
| ๐จ runmat-plot | Interactive plotting engine | GPU-accelerated via wgpu |
| ๐ฆ runmat-snapshot | Fast startup system | Binary blob serialization |
| ๐ง runmat-runtime | 50+ builtin functions | BLAS/LAPACK integration |
runmat> .info
๐ฆ RunMat v0.1.0 - High-Performance MATLAB Runtime
โก JIT: Cranelift (optimization: speed)
๐ง GC: Generational (heap: 45MB, collections: 12)
๐จ Plotting: GPU-accelerated (wgpu)
๐ Functions loaded: 52 builtins + 0 user-defined- Rich output formatting with LaTeX math rendering
- Interactive widgets for parameter exploration
- Seamless plotting integration
- Full debugging support with breakpoints
// Adding a new builtin function is trivial
#[runtime_builtin("myfunction")]
fn my_custom_function(x: f64, y: f64) -> f64 {
x.powf(y) + x.sin()
}|
๐ Universities Teaching numerical methods without license fees |
๐ฌ Research Labs Reproducible science with open-source tools |
๐ญ Engineering Teams Embedded scientific computing in production systems |
๐ Startups Rapid prototyping without expensive toolchain costs |
RunMat is more than just softwareโit's a movement toward open, fast, and accessible scientific computing. We're building the future of numerical programming, and we need your help.
|
๐ For Rust Developers
|
๐ฌ For Domain Experts
|
๐ For Everyone Else
|
- GitHub Discussions: Share ideas and get help
- Twitter: @dystr_ai for updates and announcements
- Newsletter: Subscribe for monthly updates
RunMat is licensed under the MIT License with Attribution Requirements. This means:
โ
Free for everyone - individuals, academics, most companies
โ
Open source forever - no vendor lock-in or license fees
โ
Commercial use allowed - embed in your products freely
See LICENSE.md for complete terms or visit runmat.org/license for FAQs.
Built with โค๏ธ by Dystr Inc. and the RunMat community
โญ Star us on GitHub if RunMat helps your work!
๐ Get Started โข ๐ฆ Follow @dystr
MATLABยฎ is a registered trademark of The MathWorks, Inc. RunMat is not affiliated with, endorsed by, or sponsored by The MathWorks, Inc.