localstorage ejemplos array javascript html5 local-storage

ejemplos - localstorage javascript json



Velocidad/costo de almacenamiento local (2)

Acaba de hacer un pequeño punto de referencia. Lo que planeo hacer es obtener algunos datos de localStorage con bastante frecuencia y me pregunto si se bloquearán. Si bien la operación localStorage.getItem está sincronizada, puede sonar atemorizante, ¿verdad?

  • Primera prueba para llamar 1 millón de veces a localStorage para obtener un elemento que existe.
  • 2da prueba para llamar 1 millón de veces localStorage para obtener un artículo que NO existe.

Resultados:

"Artículo encontrado: 0.0007991071428571318ms por llamada"

"Artículo no encontrado: 0.0006365004639793477ms por llamada"

En resumen - solo úsalo. No lleva tiempo. 0.0007 de 1 milisegundo.

https://jsbin.com/resuziqefa/edit?js,console

let results = []; let sum = 0; localStorage.setItem(''foo'', ''foo bar baz foo bar baz foo bar baz foo''); for (let i = 0; i < 1000000; i++) { let a = performance.now(); localStorage.getItem(''foo''); let result = performance.now() - a; sum += result; results.push(result); } console.log(`Item found: ${sum / results.length}ms per call`); results = []; sum = 0; for (let i = 0; i < 1000000; i++) { let a = performance.now(); localStorage.getItem(''bar''); let result = performance.now() - a; sum += result; results.push(result); } console.log(`Item not found: ${sum / results.length}ms per call`);

¿Qué tan rápido está buscando un valor en localStorage con Javascript?

¿Alguien tiene enlaces a alguna prueba de rendimiento que indique si vale la pena almacenar los datos en un objeto JavaScript o no? ¿O el navegador ya almacena en caché los valores a los que se accede desde localStorage?

Estoy particularmente interesado en las implementaciones de Firefox y Chrome de localStorage.


Para lo que vale, aquí hay una prueba jsperf .

El uso de referencia de localStorage es significativamente más lento que el acceso a las propiedades de un objeto regular tanto en FF7 como en IE9. Por supuesto, esto es solo un micro-punto de referencia, y no necesariamente refleja el uso o el rendimiento en el mundo real ...

Muestra extraída de mi carrera de FF 7 para mostrar lo que significa "significativamente más lento", en operaciones / segundo:

native local-storage notes small set 374,397 13,657 10 distinct items large set 2,256 68 100 distinct items read-bias 10,266 342 1 write, 10 reads, 10 distinct items

Además, hay restricciones sobre lo que se puede poner en localStorage . YMMV.

Feliz codificacion