🐜 Ant — V8を使わず自作エンジンで8MBのJSランタイムが出てきた
Show HNで155ポイントを集めた新JSランタイム「Ant」。V8/JSC非依存の自作エンジンAnt Silverで約8.5MB・起動5ms(自己申告)。compat-table 100%だがtest262は64%。期待と懐疑の現在地を整理する。
「またJSランタイムか」と思ったんですよ、正直。Node、Deno、Bunと来て、もうこのジャンルは席が埋まっていると。
でもShow HNで155ポイントを集めた「Ant」のリポジトリを見て、手が止まった。V8もJavaScriptCoreもSpiderMonkeyも使っていない。エンジンから自作だ。既存ランタム御三家は全部「巨人のエンジンを借りてガワを作る」構造なのに、Antは「Ant Silver」という手製エンジンをC(73.9%)とZigで書いている。
数字を疑いながら見る
READMEの主張はこうだ。バイナリ約8.5MB(-Os最適化で4.1MB)。起動約5ms。Honoをインポートしてルート登録して終了するまでの計測で、Bunの1.93倍・Denoの4.51倍・Nodeの5.22倍速いという。Nodeが120MB級であることを考えると、サイズだけで一桁以上違う。
ただし、この速度比較はすべて作者の自己申告だ。第三者ベンチはまだ実質的に存在しない。HNには初期版をZoo.jsベンチで測ったら惨敗だったという報告もあり、作者は「2月の大規模書き換え後は別物」と反論している。どちらが正しいかは、今のところ外からは検証できない。
分かっている確かな数字はこうだ。compat-table(構文レベルの対応表)は1511/1511で100%。一方、test262(ECMAScript仕様の適合テストスイート)は約64%。つまり「モダンな構文はほぼ書けるが、仕様のエッジケースは3分の1が未整備」という段階。この2つの数字の落差が、Antの現在地を一番正確に表していると思う。
HNが突いた2つの急所
スレッドで盛り上がったのは性能よりも出自の話だった。
ひとつめはライセンスの経緯。初期版のエンジンがAGPLのElk JavaScript Engine由来だった点を突かれ、作者は「2025年2月に完全に書き換えた」と説明している。現在はMITだ。ふたつめは「これはhand-written ではなく hand-prompted では」というLLM生成コード疑惑。数十万行規模のエンジンを個人が短期間で書けるのか、という素朴な疑問が根っこにある。
どちらも決定的な証拠が出たわけではない。ただ、pgrustの45万行のときも感じたけど、「個人+AIで書かれた巨大コードベース」への信頼をどう扱うかは、2026年のOSS評価の新しい定番論点になりつつあるよね。
それでも面白いと思う理由
ネーミングはApache AntやAnt Designと衝突しているし、独自レジストリ「ants.land」まで作るのはスコープ過剰だという批判ももっともだ。それでも注視する価値はあると思っていて、理由は8MBという数字が効く場所が実在するからだ。
エッジやserverlessのコールドスタート、組み込み、CLIツールの配布。V8を積んだ瞬間に諦めていたサイズ帯に、フル機能のJSランタイムが入る可能性がある。WinterTC(Ecma TC55)のMinimum Common APIを準拠目標に据えているのも、Node互換を全部追わずに標準側へ寄せる設計判断として筋がいい。
本番投入はtest262がもっと埋まって第三者ベンチが出てからでいい。自分はまずCLIツールを1本、Antでビルドして配ってみるつもりだ。8MBのシングルバイナリでJSが配れるなら、それだけで用途はある。エンジン自作は無謀か、それとも御三家の寡占が終わる兆しか。v1.0が出る頃に答え合わせをしよう。