Comparaison des performances entre 4 méthodes qui peuvent ajouter des éléments à un tableau:
Ajouter à l'aide de l'indexeur
La copie de code est la suivante:
Console.Time ("Index");
var a = [];
pour (var i = 0, l = fois; i <l; i ++) {
a [i] = i;
}
Console.Timeend ("Index");
Utiliser la méthode push
La copie de code est la suivante:
console.time ("push");
var a = [];
pour (var i = 0, l = fois; i <l; i ++) {
a.push (i);
}
Console.Timeend ("push");
Utilisez la méthode Concat
La copie de code est la suivante:
Console.Time ("Concat");
var a = [];
pour (var i = 0, l = fois; i <l; i ++) {
a.concat (i);
}
Console.Timeend ("Concat");
Utilisez la méthode Concat, les paramètres sont le tableau
La copie de code est la suivante:
Console.Time ("Concat with Array");
var a = [];
pour (var i = 0, l = fois; i <l; i ++) {
A.Concat ([i]);
}
Console.Timeend ("Concat avec Array");
Réglez les temps à 100 millions de fois:
La copie de code est la suivante:
Index: 0,310 ms
Push: 1,476 ms
Concat: 8,911 ms
Concat avec tableau: 2,261 ms
Réglez les temps à 100 000 (100 000) fois:
La copie de code est la suivante:
Index: 1,967 ms
Push: 11,980 ms
Concat: 70,410ms
Concat avec tableau: 28.292 ms
Réglez les temps à 1000000 (millions) fois:
La copie de code est la suivante:
Index: 138,559 ms
Push: 93.074ms
Concat: 608.768 ms
Concat avec tableau: 243.371 ms
Réglez les temps à 100 000 (10 millions) de fois:
La copie de code est la suivante:
Index: 1473.733 ms
Push: 611.636 ms
Concat: 6058.528 ms
Concat avec tableau: 2431.689 ms
Résumer
Cette conclusion n'est utile qu'avec Chrome Browser
L'efficacité d'exécution de la méthode Concat est la plus lente
Par rapport à la transmission d'argument des deux méthodes Concat, lorsque les paramètres acceptés sont des tableaux, l'efficacité d'exécution est plus élevée que celle des paramètres acceptés comme non-terrains.
Dans la plupart des cas, l'efficacité d'exécution de l'indexer est supérieure à celle de la méthode push.
Lorsque le nombre d'exécutions augmente, l'efficacité d'exécution de l'indexeur commence à être pire que celle de la méthode push
Comparaison du navigateur
Merci aux internautes pour avoir souligné que je manque d'expérience, alors voici les comparaisons horizontales entre les navigateurs
Tout d'abord, utilisez la méthode Concat. Dans IE et Firefox, les paramètres sont des tableaux et l'efficacité d'exécution est plus lente que les autres paramètres ne sont pas des terrains, mais la différence n'est pas grande.
Il est alors certain que les méthodes d'index et de push sont plus rapides que Concat. L'utilisation de la méthode d'index dans IE est toujours plus rapide que push. La poussée est légèrement meilleure dans Firefox mais la différence n'est pas grande
Par rapport à l'efficacité d'exécution des méthodes d'index et de push entre les trois navigateurs, l'efficacité d'exécution de Firefox est beaucoup plus élevée que celle de IE et Chrome. En un million de fois, il est fondamentalement 10 fois plus rapide. Je suis le plus lent par rapport aux deux autres.
Voici les résultats de millions:
La copie de code est la suivante:
// Firefox
Index: la minuterie a commencé
Index: 229.79 ms
Push: la minuterie a commencé
Push: 205.12 ms
Concat: la minuterie a commencé
Concat: 2136.99 ms
Concat avec le tableau: la minuterie a commencé
Concat avec le tableau: 2365.18 ms
`` '
La copie de code est la suivante:
// c'est-à-dire
Index: 2 533,744 millisecondes
Poussez: 3 865,979 millisecondes
Concat: 4 303.139 millisecondes
Concat avec la table: 4 792,208 millisecondes
Cet article est juste d'explorer les performances de JS. Cela approfondira la compréhension de vos amis de JavaScript par comparaison. J'espère que vous pouvez l'aimer.