Использование памяти и порядок сложности объектов JavaScript

Объекты JavaScript легко использовать в качестве хэш-карт, поскольку они, по сути, представляют собой просто набор пар ключ / значение. Меня беспокоит использование памяти и временные затраты на хранение и поиск. Я предполагаю, что ответ на этот вопрос отличается в зависимости от реализации движков JavaScript. MDN ссылается на Статья в Википедии о хэш-карте, но я не знаю, насколько велика хеш-таблица для объекта.

Итак, я хочу знать, насколько дороги объекты в памяти и как часто выполняется операция хранения / извлечения O (1) и как часто это операция O (n)?


person Jack Allan    schedule 11.02.2017    source источник


Ответы (1)


Я думаю, это зависит от конкретного движка JavaScript, который вы используете.

V8, например, в простейшем случае преобразует хэш-карту в массив и сохраняет его в одном блоке памяти.

Почему?

Потому что по очевидным причинам получить доступ к элементу массива с учетом смещения быстрее, чем к хеш-таблице.

Источник: http://jayconrod.com/posts/52/a-tour-of-v8-object-presentation

Надеюсь, это хотя бы частично ответит на ваш вопрос :)

person andrusieczko    schedule 11.02.2017