V8 JavaScript 引擎 6.8 已發佈,包含許多面向開發者的新特性,亮點包括:
內存
JavaScript 函數不必要地保留外部函數及其元數據(稱為 SharedFunctionInfo 或 SFI ),可能會導致偽內存洩漏。 在 V8 6.8 版本之前,活動上下文(active Context)會讓創建上下文的函數的 SFI 保持活動狀態:
![V8 JavaScript 引擎 6.8 發佈 改進內存佔用](http://p2.ttnews.xyz/loading.gif)
通過讓 Context 指向包含調試所需的精簡信息的 ScopeInfo 對象,V8 6.8 打破了對 SFI 的依賴關係。這也帶來了近 3% 的 V8 內存佔用改進。
![V8 JavaScript 引擎 6.8 發佈 改進內存佔用](http://p2.ttnews.xyz/loading.gif)
與此同時,減少了 SFI 本身的內存消耗,刪除不必要的字段或儘可能壓縮它們,將其大小減少了大約 25%,未來版本還將進一步降低。
性能
- 數組解構改進
- Object.assign 改進
- TypedArray.prototype.sort 改進
WebAssembly
V8 v6.8 支持在 Linux x64 平臺上使用 trap-based bounds checking 。這種內存管理優化大大提高了 WebAssembly 的執行速度。它已在 Chrome 68 中使用,未來會逐漸支持更多平臺。
閱讀更多 程序員小新人學習 的文章
關鍵字: JavaScript 函數 引擎