Zig言語がビルドシステムを全面刷新

原題: Zig: Build System Reworked

なぜ重要か

Zigがコンパイル速度で競合優位性を確立し、開発者体験向上により言語普及を加速する可能性

Zig言語開発チームが5月26日、新しいビルドシステムを発表した。Andrew Kelley氏がメーカープロセスとコンフィギュラープロセスを分離する大規模な変更を実装。新しいELFリンカーによりx86_64 Linux環境で高速なインクリメンタルコンパイルが可能になり、外部ライブラリを含む再ビルドが30ms程度で完了する。

Zig言語の開発チームが、ビルドシステムの大幅な改良を発表した。Andrew Kelley氏主導の変更では、メーカープロセスとコンフィギュラープロセスを分離し、より効率的なビルド環境を実現している。

特に注目すべきは、Matthew Lugg氏が開発した新しいELFリンカーの進歩だ。このリンカーは0.16.0リリースで初登場したが、当初はZigコードのみの対応で外部ライブラリには未対応だった。しかし最新の改良により、LLVMとLLDライブラリを含むZigコンパイラ自体のビルドが可能になった。

新リンカーの最大の特徴は、高速なインクリメンタルコンパイル機能だ。x86_64 Linux環境では、外部ライブラリやCソースを含むプロジェクトでも追加のパフォーマンス負荷なしで、30ms程度での再ビルドを実現している。Andrew氏のテトリスクローンでの実演では、小さな変更を30ms程度で反映できることが示された。

Zigコンパイラ自体についても、初回ビルドの36秒に対し、増分ビルドは228-288ms程度で完了している。現在、Zigコード用のDWARFデバッグ情報生成には未対応だが、プリントデバッグなどの用途では既に高い有用性を発揮している。

開発チームは、x86_64 Linux環境のユーザーに新機能の試用を呼びかけており、次期Zig 0.17.0リリースでの正式提供を予定している。

出典

ziglang.org — 元記事を読む →