CLIツール
theMackabu/ant avatar
theMackabu/ant

Ant: 約5ミリ秒のコールドスタートを報告する軽量JavaScriptランタイム

このプロジェクトは「javascript for 's, a tiny runtime with big ambitions. 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).」を基盤として、実践的に使えるオープンソース実装を提供し、再利用可能なツールチェーンと統合手段を備えています。

スター 1,273フォーク 31CMIT

ひと目でわかる

これは何?
theMackabu/ant リポジトリの README に基づく分析: バイナリサイズ、Ant Silver エンジン、WinterTC 適合性、コールドスタートベンチマークについて README が述べていること。
誰に向いている?
小さなJavaScript処理で起動時間と実行環境を比較したい開発者には試す余地があります。Node互換性を全面的に仮定する既存サービスや、成熟したサポート契約を必要とする運用には選びにくい構成です。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 1 日前です。
何の言語で書かれている?
主に C です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

50倍の比喩とバイナリサイズの証拠

Ant は JavaScript ランタイムで、README は軽量で高性能、ゼロから構築されたと述べている。リポジトリのタグラインは、自身の体重の50倍を運ぶアリにランタイムを例えている。README の冒頭には ant バイナリが 8.9 MB であること、-Os でコンパイルすると 4.4 MB になることを示すシェル出力がある。リポジトリの説明は大きな野心を持つ小さなランタイムとしている。README は Ant がサイズと起動時間が重要となる環境、つまりサーバーレス関数、エッジコンピューティング、組み込みシステム、CLI ツール向けに設計されていると述べている。リポジトリのメタデータは実装言語を C と記録しているが、README 自体は言語に言及していない。

Ant Silver はエンジンであり、ラッパーではない

README は Ant を Node、Bun、Deno と表で比較している。Ant はバイナリサイズ約 9 MB、コールドスタート約 5 ms とされ、Node は約 120 MB と 31 ms、Bun は約 60 MB と 13 ms、Deno は約 90 MB と 25 ms とされる。エンジンは Ant Silver で、README によれば V8、JavaScriptCore、SpiderMonkey のラッパーではなく独自に構築されている。JIT コンパイラは MIR のフォークを使用しており、MIR はコンパイル後のパフォーマンスに近い結果を可能にする軽量バックエンドと説明されている。これらはプロジェクト自身の主張であり、独立した測定は提供されていない。

WinterTC 適合性と2つのテストスイート

Ant は WinterTC Minimum Common API 仕様を対象としている。README はこれを Ecma TC55 が策定したサーバーサイド JavaScript 相互運用の標準と説明している。README によると compat-table の合格率は 100%、1511 件中 1511 件で、ES1 から ES5、ES6、ES2016+、ESNext をカバーする。test262 は約 64% で、改善中であり実世界のカバレッジに焦点を当てていると README は述べている。この2つのスイート以外に、適合性の定義は README にはない。

コールドスタートベンチマーク

README のコールドスタートベンチマークは、Hono をインポートし、2つのルートを登録し、ready を出力して process.exit(0) を呼ぶまでの時間を測定する。HTTP サーバーは起動せず、モジュール解決と初期化のオーバーヘッドを分離している。hyperfine を使用し、ウォームアップ 10 回、計時 100 回で、報告された平均は Ant が 5.5 ms、Bun が 10.6 ms、Deno が 24.8 ms、Node が 28.7 ms である。環境は Apple M5 Pro、64 GB RAM、18 コア、macOS 26.5.1 で、Ant ビルド 12.1.15dd25d.1、Node 26.2.0、Bun 1.3.14、Deno 2.8.3 が使われている。数値はすべて自己報告である。

インストール、ビルド、README が委ねているもの

README が記録するインストール方法は、antjs.org から取得したスクリプトを bash にパイプする curl コマンドの1つだけである。ベンチマークコマンドでは、スクリプトを ant <パス> として呼び出している。ソースからのビルドは BUILDING.md にあり、README はこのファイルが手順と対応プラットフォームの一覧を含むと述べているが、README 自体はプラットフォームを列挙していない。インストールスクリプトの内容、対応プラットフォーム、CLI の全容は README には記述されておらず、プロジェクトのファイルで確認する必要がある。

セキュリティ、コミュニティ、ライセンスの記録

README はセキュリティ脆弱性の報告を SECURITY.md に案内しているが、その方針が何をカバーするかは説明していない。コミュニティリンクには Discord サーバー、Working was the beginning というブログ記事、Ant の内部構造に関する DeepWiki ページが含まれる。貢献とガバナンスはそれぞれ CONTRIBUTING.md と GOVERNANCE.md で説明されている。ライセンスについて、リポジトリのメタデータは MIT SPDX 識別子を記録しているが、提供されたライセンス抜粋は一般的なパスに LICENSE ファイルが見つからなかったと述べており、README 自体もライセンスに言及していないため、審査した情報源からは許諾条件が確立されていない。

Antを評価する際は、READMEが示すランタイムの範囲と実装の入口を切り分けます。JavaScriptの実行、Web API、Node互換API、TypeScriptの型定義が説明されていますが、すべてのNode組み込みモジュールやnpmパッケージが同じように動くとは資料から読めません。高速起動の値はREADMEのベンチマークとして扱い、アプリの実処理時間や同時接続性能へそのまま広げないことが必要です。

リポジトリに示されたインストールと実行コマンド、対応OS、環境変数を固定して、対象スクリプトが依存するfs、http、cryptoなどのAPIを一つずつ確認します。WebAssemblyやバイナリ依存を含むプロジェクトでは、Ant固有の実装差が問題になる可能性があります。READMEに記載がない互換性表、リリースの運用方針、長期サポートは判断材料として不足しているため、既存Nodeアプリの全面移行より、独立した小さな処理で試す案件に向きます。

比較対象を置くなら、通常のNode.jsは互換性と周辺パッケージの広さを優先し、AntはREADMEが掲げる軽量な実行経路と起動時間を検討軸にします。どちらが速いかを一般化するのではなく、同じスクリプト、同じ入力、同じ終了条件で測定します。Antのバージョン、OS、CPU、使用したAPIを結果と一緒に残し、未対応モジュールが出た時点で移行範囲を止められる設計にします。

編集部の結論

小さなJavaScript処理で起動時間と実行環境を比較したい開発者には試す余地があります。Node互換性を全面的に仮定する既存サービスや、成熟したサポート契約を必要とする運用には選びにくい構成です。READMEのコマンドを固定し、依存する組み込みAPIごとの結果を確認してください。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート