06.25 V8 JavaScript 引擎 6.8 發佈 改進內存佔用

V8 JavaScript 引擎 6.8 已發佈,包含許多面向開發者的新特性,亮點包括:

內存

JavaScript 函數不必要地保留外部函數及其元數據(稱為 SharedFunctionInfo 或 SFI ),可能會導致偽內存洩漏。 在 V8 6.8 版本之前,活動上下文(active Context)會讓創建上下文的函數的 SFI 保持活動狀態:

V8 JavaScript 引擎 6.8 發佈 改進內存佔用

通過讓 Context 指向包含調試所需的精簡信息的 ScopeInfo 對象,V8 6.8 打破了對 SFI 的依賴關係。這也帶來了近 3% 的 V8 內存佔用改進。

V8 JavaScript 引擎 6.8 發佈 改進內存佔用

與此同時,減少了 SFI 本身的內存消耗,刪除不必要的字段或儘可能壓縮它們,將其大小減少了大約 25%,未來版本還將進一步降低。

性能

  • 數組解構改進
  • Object.assign 改進
  • TypedArray.prototype.sort 改進
V8 JavaScript 引擎 6.8 發佈 改進內存佔用

WebAssembly

V8 v6.8 支持在 Linux x64 平臺上使用 trap-based bounds checking 。這種內存管理優化大大提高了 WebAssembly 的執行速度。它已在 Chrome 68 中使用,未來會逐漸支持更多平臺。


分享到:


相關文章: