2015-11-09 7 views
11

v8の実装では、検索/参照がO(1)であると仮定していますか?es6複雑さとv8の実装をマップして設定する

(私は標準がそれを保証するものではありませんことを知っている)

+1

平均して?あるいは最悪の場合? – Oriol

+0

標準[サブ線形の複雑さを保証する](http://stackoverflow.com/a/31092145/1048572)、btw。 – Bergi

+0

@Oriolはどちらも興味深いでしょう。 – Uri

答えて

12

V8実装検索/ルックアップで(1)Oであることを公正な仮定ですか?

はい。 V8は、これらの操作に一般にO(1)の複雑さを持つハッシュテーブルの変形を使用します。

https://codereview.chromium.org/220293002/ここでOrderedHashTablehttps://wiki.mozilla.org/User:Jorend/Deterministic_hash_tablesに基づいて実装されています。

+2

これを少し拡張するために、V8のMapとSetが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

関連する問題