Comparación del rendimiento entre 4 métodos que pueden agregar elementos a una matriz:
Agregar usando indexador
La copia del código es la siguiente:
console.time ("índice");
var a = [];
para (var i = 0, l = Times; i <l; i ++) {
a [i] = i;
}
console.timeend ("índice");
Usar el método de empuje
La copia del código es la siguiente:
console.time ("empuje");
var a = [];
para (var i = 0, l = Times; i <l; i ++) {
a.push (i);
}
console.timeend ("empuje");
Use el método concat
La copia del código es la siguiente:
console.time ("concat");
var a = [];
para (var i = 0, l = Times; i <l; i ++) {
A.Concat (i);
}
console.timeend ("concat");
Usar el método concat, los parámetros son una matriz
La copia del código es la siguiente:
console.time ("concat con la matriz");
var a = [];
para (var i = 0, l = Times; i <l; i ++) {
A.Concat ([i]);
}
console.timeend ("concat con la matriz");
Establecer tiempos a 100 millones de veces:
La copia del código es la siguiente:
Índice: 0.310 ms
Push: 1.476ms
Concat: 8.911ms
Concat con la matriz: 2.261ms
Establecer tiempos a 100,000 (100,000) veces:
La copia del código es la siguiente:
Índice: 1.967ms
Push: 11.980 ms
Concat: 70.410 ms
Concat con la matriz: 28.292ms
Establecer tiempos a 1000000 (millones) veces:
La copia del código es la siguiente:
ÍNDICE: 138.559MS
Push: 93.074ms
Concat: 608.768ms
Concat con la matriz: 243.371ms
Establecer tiempos a 100,000 (10 millones) veces:
La copia del código es la siguiente:
Índice: 1473.733ms
Push: 611.636ms
Concat: 6058.528ms
Concat con la matriz: 2431.689ms
Resumir
Esta conclusión solo es útil con el navegador Chrome
La eficiencia de ejecución del método concat es el más lento
En comparación con la transmisión de argumentos de los dos métodos concat, cuando los parámetros aceptados son matrices, la eficiencia de ejecución es mayor que la de los parámetros aceptados como no arrays.
En la mayoría de los casos, la eficiencia de ejecución del indexador es más alta que la del método push.
Cuando aumenta el número de ejecuciones, la eficiencia de ejecución del indexador comienza a ser peor que la del método de empuje
Comparación del navegador
Gracias a los internautas por señalar que me falta experiencia, así que aquí están las comparaciones horizontales entre los navegadores.
Primero, use el método Concat. En IE y Firefox, los parámetros son matrices, y la eficiencia de ejecución es más lenta que los otros parámetros no son arrays, pero la diferencia no es grande.
Entonces es cierto que los métodos de índice y push son más rápidos que concat. Usar el método de índice en IE es siempre más rápido que Push. Push es un poco mejor en Firefox, pero la diferencia no es grande
En comparación con la eficiencia de ejecución del índice y los métodos de empuje entre los tres navegadores, la eficiencia de ejecución de Firefox es mucho mayor que la de IE y Chrome. En un millón de veces, es básicamente 10 veces más rápido. Soy el más lento en comparación con los otros dos.
Los siguientes son los resultados de millones:
La copia del código es la siguiente:
// Firefox
Índice: el temporizador comenzó
Índice: 229.79ms
Push: comenzó el temporizador
Push: 205.12ms
Concat: comenzó el temporizador
Concat: 2136.99ms
Concat con la matriz: el temporizador comenzó
Concat con la matriz: 2365.18 ms
`` `` ``
La copia del código es la siguiente:
// es decir
Índice: 2,533.744 milisegundos
Push: 3,865.979 milisegundos
Concat: 4,303.139 milisegundos
Concat con la matriz: 4,792.208 milisegundos
Este artículo es solo para explorar el rendimiento de JS. Profundará la comprensión de sus amigos de JavaScript a través de la comparación. Espero que te pueda gustar.