Boa 發行版本 0.18:用 Rust 編寫的 JavaScript 引擎

https://boajs.dev/blog/2024/03/07/boa-release-18

Boa v0.18 現已推出!經過 7 個月的開發,我們很高興向您呈現最新的 Boa JavaScript 引擎版本。Boa 使得在專案中嵌入 JS 引擎變得容易,甚至可以從 WebAssembly 中使用。您可以在此處查看更多相關資訊。

在此版本中,我們在官方 ECMAScript 測試套件(Test262)中的一致性從 79.36%提升至 85.03%。這表示我們通過的測試數比上一個版本多出 3,550 個,被忽略的測試數也因為我們為此版本實現的新內建功能減少了 – 從 9,496 個降至 1,391 個。

我們設計團隊很高興推出了新的網站設計和全新的 LOGO!我們希望加入一些額外的頁面,以便對 Boa 公開的 API 進行更深入的了解。此外,未來我們計劃發表更多部落格文章,包括如何使用特定 API、在開發引擎時遇到的設計挑戰以及內部實現細節。

此次重大更新部分得益於支持我們的人才,感謝有能力提供資金支持的人。如果您想贊助 Boa,可以通過捐款給我們的 collective 進行。您也可以查看一些易於或初學者可以貢獻具體代碼的問題。

重點

感謝 CanadaHonk 的出色工作,Boa 現已在 test262.fyi 上列出!這是官方 test262 測試套件的每日運行器,每天運行 Boa 的夜間版本,以及其他引擎,並更新每天的結果。這與其他主要的 JavaScript 引擎並列,使得用戶可以更輕鬆地比較 Boa 與其他引擎的一致性測試。

暫時性

在過去幾個月中,我們在暫時性 API 上投入了大量工作。暫時性 API 是一組新的內建對象和功能,旨在成為 Date 對象的現代替代品,提供了更豐富且靈活的日期和時間操作 API。

正則表達式

在過去 7 個月中,我們致力於改進正則表達式的實現。

凝聚性和 Shared Array Buffer

在本版本中,我們實現了 SharedArrayBuffer 和 Atomics 內建,這意味著可嵌入程序現在可以在單獨的線程上運行 Contexts,執行它們之間的共享工作。

Intl 更新

我們對 Intl 實現持續取得良好進展,現在我們已經實現了 Intl.PluralRules 內建和 Intl.NumberFormat 內建的初步原型。

內建更新

在這個新版本中,我們將引入一些全新的功能和 API,同時也添入了現有內建的許多小改動,以使 Boa 保持最新的 ECMAScript 262 規範修訂。

優化

行內緩存 – 藉由執行 v0.17 中的指引形狀概念,我們進一步透過實現行內緩存來提升引擎的性能。行內緩存的概念是基於一種想法 – 變數的屬性存取通常僅應用於具有相似形狀的對象。我們計劃在未來進一步優化這個功能。

未來 1.0 版本 – Boa 的目標是提供一個穩定可靠的 API。經過團隊討論,我們決定在不久的將來釋出 1.0 版本。我們將持續關注對 Boa 進行嵌入的公共 API 的改進,並將致力於提高引擎的性能。

感謝您的支持 – Boa 是一個獨立的 JavaScript 引擎,我們依賴社區的支持來維持運作。您可以通過捐款到我們的 collective 來支持我們,也可以參與我們開放的問題,並要求指導。您還可以通過改進引擎的文檔或者改進測試代碼來支持我們。

via Lobsters: rust – Rust programming

March 8, 2024 at 02:29AM

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *