2016-03-28 69 views
0

V8使用隱藏類來保留鍵的偏移量,所以鍵的值可以很快查找。但是用什麼樣的數據結構來保存偏移量「地圖」,我讀了這個post,它使用es6 Map進行模擬,但是Map似乎使用了哈希表,有點慢,對嗎?V8隱藏類索引查找

+0

你應該通讀這篇文章。它實現了一個沒有散列表的替代偏移地圖 –

+0

我不這麼認爲,它在一個隱藏的類中使用ES6地圖作爲偏移地圖 – viclm

+0

您誤認爲屬性訪問和隱藏類訪問。 'CompileNamedLoadFastProperty'使用偏移量,而不是散列表 –

回答

0

該地圖似乎使用哈希表,有點慢,對不對?

沒有。哈希表有點快,甚至更好:內聯高速緩存(您正在閱讀的內容)都是爲了完全消除此查找的需要。

+0

我可以說es6 Map不會創建隱藏類嗎?但它如何保持一個固定的結構呢?任何資源? – viclm