# 🐜 Ant _An ant carries 50× its weight. So does this one._ Ant is a lightweight, high-performance JavaScript runtime built from scratch.
Built to carry more than it weighs while delivering near-V8 speeds. ```bash $ ls -lh ant -rwxr-xr-x⠀9.0M⠀ant* # built with -Os -rwxr-xr-x⠀6.5M⠀ant* ``` ## Table of contents - [Why Ant?](#why-ant) - [Installation](#installation) - [Benchmarks](#benchmarks) - [Spec conformance](#spec-conformance) - [Building Ant](#building-ant) - [Security](#security) - [Community](#community) - [Contributing to Ant](#contributing-to-ant) ## Why Ant? | | Ant | Node | Bun | Deno | | ------------------- | ---------- | ------- | ------ | ------ | | Binary size | **~9 MB** | ~120 MB | ~60 MB | ~90 MB | | Cold start | **~5 ms** | ~31 ms | ~13 ms | ~25 ms | | Engine | Ant Silver | V8 | JSC | V8 | | JIT | ✓ | ✓ | ✓ | ✓ | | WinterTC conformant | ✓ | partial | ✓ | ✓ | Ant is designed for environments where size and startup time matter: serverless functions, edge computing, embedded systems, CLI tools, and anywhere you'd want JavaScript but can't afford a 50MB+ runtime. The engine, Ant Silver is hand-built, not a wrapper around V8, JSC, or SpiderMonkey. The JIT compiler uses a fork of [MIR](https://github.com/themackabu/mir), a lightweight backend that enables near compiled performance. ## Installation ```bash curl -fsSL https://ant.themackabu.com/install | bash ``` ## Spec conformance Ant targets the [WinterTC Minimum Common API](https://min-common-api.proposal.wintertc.org/) specification, the standard for server-side JavaScript interoperability developed by Ecma TC55. | Suite | Pass rate | Notes | | ---------------- | --------- | ------------------------------------------ | | js-zoo (ES1–ES5) | ~100% | | | js-zoo (ES6) | ~82% | | | js-zoo (ES2016+) | ~86% | | | js-zoo (overall) | **88%** | 1211/1368 passing | | test262 | ~50% | Improving, focus is on real-world coverage | ## Benchmarks ### Cold start Measures the time to import [Hono](https://hono.dev), register routes, and exit. Each runtime loads the same `bench-coldstart.js` script from `examples/npm/hono/` that creates a Hono app with two routes, prints "ready", and calls `process.exit(0)`. No HTTP server is actually started, this isolates module resolution and initialization overhead. Measured with hyperfine (10 warmup runs, 100 timed runs): ```bash hyperfine --warmup 10 --runs 100 \ 'ant examples/npm/hono/bench-coldstart.js' \ 'node examples/npm/hono/bench-coldstart.js' \ 'bun examples/npm/hono/bench-coldstart.js' \ 'deno run --allow-read --allow-env examples/npm/hono/bench-coldstart.js' ``` | Runtime | Mean | Min | Max | Relative | | ------- | ---------- | ------- | -------- | ------------ | | **Ant** | **5.7 ms** | 5.0 ms | 7.3 ms | **1.00** | | Bun | 12.8 ms | 11.6 ms | 16.4 ms | 2.24× slower | | Deno | 24.8 ms | 22.2 ms | 29.4 ms | 4.32× slower | | Node | 31.1 ms | 27.1 ms | 151.7 ms | 5.41× slower |
Environment | Detail | Value | | -------- | --------------------------------- | | Hardware | Apple M4 Pro, 24 GB RAM, 14 cores | | OS | macOS 15.7.5 (arm64) | | Ant | 0.9.1 | | Node | 25.9.0 | | Bun | 1.3.13 | | Deno | 2.7.12 |
## Building Ant See [BUILDING.md](BUILDING.md) for instructions on how to build Ant from source and a list of supported platforms. ## Security For information on reporting security vulnerabilities in Ant, see [SECURITY.md](SECURITY.md). ## Community - [Discord](http://discord.gg/CH7YSjWGzY) - [Blog: Building Ant](https://s.tail.so/js-in-one-month) - [DeepWiki: Ant internals](https://deepwiki.com/theMackabu/ant) ## Contributing to Ant We welcome contributions through pull request. See [CONTRIBUTING.md](CONTRIBUTING.md) for more details.
For information about the governance of Ant, see [GOVERNANCE.md](GOVERNANCE.md).