我在玩 V8 引擎時偶然發現了區域統計工具。我了解區域記憶體的概念,但是區域統計記憶體中的這些不同區域是什么?
當我將跟蹤區域記憶體日志上傳到其中時,我看到有用于渦輪風扇的區域:
- 圖形區
- 指令區
- 管道編譯作業區
- 暫存器分配區
我知道編譯作業區用于編譯(也許?如果我錯了請糾正我),但其他區域是什么?
uj5u.com熱心網友回復:
(這里是 V8 開發人員。)由于 Turbofan 是一個編譯器,它使用的所有區域都用于編譯。
它使用多個區域,以便之后可以釋放僅在短時間內需要的臨時資料,而主區域會一直存在,直到整個編譯作業完成。這對于暫存器分配器使用的“暫存器分配區域”最為明顯。
我不確定其他區域之間的區別是什么,老實說我認為這不是特別重要:如果您專門致力于降低 Turbofan 的峰值記憶體消耗,那么您可能已經知道(或者可以輕松通過閱讀一些代碼找出答案);否則,您無需關心。特定的區域集也可能隨時更改。作為一名 JavaScript 開發人員,這些型別的編譯器內部絕對不會讓您擔心。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/432690.html
