Home

Awesome

The MiniVM Logo, a blueish grey brick (Or maybe can of tuna if you are a cat)

MiniVM

MiniVM is a Small but Optimizing Virtual Machine and Runtime.

It has a just-in-time compiler based on Cuik's TB.

Currently it supports Linux x86-64, FreeBSD amd64, Windows x64 and WebAssembly.

MiniVM is written in C11 with (minor GNU extensions), and builds with GCC and Clang, with TCC support not hard to patch in.

Building

MiniVM uses GNU Make as it's build system.

Requirements

You'll need

Build Configs

Here's some Shell Commands to build MiniVM different ways

Speed

Here's some benchmark runs, they aren't too representative yet.

Math + Recursion

shell> ./build/bin/minivm --dump-time test/fib/fib40.lua
102334155
took: 1725.805ms

Startup Perf

shell> ./build/bin/minivm --dump-time -e 'print("hello world")'
Hello, World
took: 0.307ms