2015-11-09 7 views
11

È una buona ipotesi che in v8 il recupero/ricerca dell'implementazione sia O (1)?es6 Mappare e impostare la complessità, implementazione v8

(So che la norma non garantisce che)

+1

In media? O il caso peggiore? – Oriol

+0

Lo standard [garantisce la complessità sub-lineare] (http://stackoverflow.com/a/31092145/1048572), btw. – Bergi

+0

@Oriol entrambi sarebbero interessanti da sapere. – Uri

risposta

12

E 'ragionevole prevedere che, in applicazione v8 recupero/ricerca è O (1)?

Sì. V8 utilizza una variante di tabelle hash che generalmente hanno complessità O(1) per queste operazioni.

Per i dettagli, si potrebbe voler dare un'occhiata a https://codereview.chromium.org/220293002/ dove OrderedHashTable è implementato in base a https://wiki.mozilla.org/User:Jorend/Deterministic_hash_tables.

+2

Per estendere un po 'questo, Map e Set in V8 sono stati recentemente reimplementati in JavaScript https://codereview.chromium.org/947683002 Questo è comune in V8, implementando nuove funzionalità in JavaScript, consente al JIT (Crankshaft/Turbofan) di ottimizzare il runtime codice. –

+0

@DiegoPino: Grazie. In qualche modo pensavo che l'implementazione di 'OrderedHashTable' fosse ancora attuale perché l'ho trovata nel [trunk] (https://code.google.com/p/v8/source/browse/trunk/src/objects.cc) ... – Bergi

Problemi correlati