2015-11-09 2 views
11

Является ли справедливым предположение, что в v8 реализация/поиск выполнения O (1)?es6 Карта и сложность набора, реализация v8

(я знаю, что стандарт не гарантирует, что)

+1

В среднем? Или в худшем случае? – Oriol

+0

Стандарт [гарантирует сублинейную сложность] (http://stackoverflow.com/a/31092145/1048572), кстати. – Bergi

+0

@Oriol, было бы интересно узнать. – Uri

ответ

12

Это справедливое предположение, что в реализации v8 поиска/поиск является O (1)?

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

Для получения дополнительной информации, вы можете посмотреть на https://codereview.chromium.org/220293002/, где OrderedHashTable реализован на основе https://wiki.mozilla.org/User:Jorend/Deterministic_hash_tables.

+2

Чтобы немного расширить это, Map и Set в V8 были недавно переопределены на JavaScript https://codereview.chromium.org/947683002 Это распространено в V8, реализуя новые функции в JavaScript, позволяя JIT (Crankshaft/Turbofan) оптимизировать время выполнения код. –

+0

@DiegoPino: Спасибо. Я почему-то думал, что реализация «OrderedHashTable» по-прежнему актуальна, потому что я нашел ее в [trunk] (https://code.google.com/p/v8/source/browse/trunk/src/objects.cc) ... – Bergi

Смежные вопросы