Zig 語言創辦人 Andrew Kelley 宣布重大重構:將建構系統的「配置器」與「執行器」分離。過去,build.zig 檔案與整個建構系統實作都被編譯成一個龐大的程序,浪費資源。現在 build.zig 會先被編譯成一個小巧的「配置器」,其產生的建構圖序列化為二進位設定檔快取;同時,系統會非同步地以發行模式編譯「執行器」程序。這樣執行器每個 Zig 版本只需編譯一次,大幅節省時間。此次重構帶來三層加速:修改 build.zig 時只需重新編譯使用者代碼,而非整個建構系統;系統可跳過未變動的建構邏輯,直接使用快取的設定檔;執行器以優化模式編譯,速度更快。實測顯示 zig build —help 從平均 150ms 降至 14.3ms,提速約 90%。主要破壞性變更是 b.args 被移除,改為 addPassthruArgs(),未來建構腳本將無法直接觀測命令列參數。Zig 0.17.0 預計於數週內發布。
Zig 建構系統大幅重構 將 maker 程序與 configurer 程序分離
▲ 130 💬 32
網友熱門留言 (5)