Vergleich der Leistung zwischen 4 Methoden, mit denen Elemente zu einem Array hinzugefügt werden können:
Fügen Sie mit Indexer hinzu
Die Codekopie lautet wie folgt:
console.time ("Index");
var a = [];
für (var i = 0, l = mal; i <l; i ++) {
a [i] = i;
}
console.timeend ("Index");
Verwenden Sie die Push -Methode
Die Codekopie lautet wie folgt:
console.time ("push");
var a = [];
für (var i = 0, l = mal; i <l; i ++) {
a.push (i);
}
console.timeend ("push");
Verwenden Sie die Concat -Methode
Die Codekopie lautet wie folgt:
console.time ("concat");
var a = [];
für (var i = 0, l = mal; i <l; i ++) {
A.Concat (i);
}
console.timeend ("concat");
Verwenden Sie die Concat -Methode, die Parameter sind Array
Die Codekopie lautet wie folgt:
console.time ("concat with array");
var a = [];
für (var i = 0, l = mal; i <l; i ++) {
A.Concat ([i]);
}
console.timeend ("concat with array");
Setzen Sie Zeiten auf 100 Millionen Mal:
Die Codekopie lautet wie folgt:
Index: 0,310 ms
Push: 1,476 ms
cacat: 8.911m
mit Array verkaufen: 2.261 ms
Setzen Sie Zeiten auf 100.000 (100.000) Mal:
Die Codekopie lautet wie folgt:
Index: 1,967 ms
Push: 11.980 ms
HABE: 70.410 ms
cacat mit Array: 28,292 ms
Setzen Sie die Zeiten auf 1000000 (Millionen) Mal:
Die Codekopie lautet wie folgt:
Index: 138.559ms
Push: 93.074ms
CONECAT: 608.768ms
comat mit Array: 243.371m
Setzen Sie Zeiten auf 100.000 (10 Millionen) Mal:
Die Codekopie lautet wie folgt:
Index: 1473.733ms
Push: 611.636ms
CONECAT: 6058.528ms
cacat mit Array: 2431.689ms
Zusammenfassen
Diese Schlussfolgerung ist nur mit Chrombrowser nützlich
Die Ausführungseffizienz der CONCAT -Methode ist am langsamsten
Im Vergleich zur Argument-Übertragung der beiden Konzernmethoden ist die Ausführungseffizienz bei den akzeptierten Parametern höher als die der akzeptierten Parameter als Nicht-Arrays.
In den meisten Fällen ist die Ausführungseffizienz des Indexers höher als die der Push -Methode.
Wenn die Anzahl der Ausführungen zunimmt
Browservergleich
Dank der Internetnutzer, die darauf hingewiesen haben, dass mir die Erfahrung fehlt. Hier sind die horizontalen Vergleiche zwischen Browsern
Verwenden Sie zunächst die Concat -Methode. In IE und Firefox sind die Parameter Arrays, und die Ausführungseffizienz ist langsamer als die anderen Parameter, aber der Unterschied ist nicht groß.
Dann ist es sicher, dass die Index- und Push -Methoden schneller sind als concat. Die Verwendung der Indexmethode im IE ist immer schneller als Push. Push ist in Firefox etwas besser, aber der Unterschied ist nicht groß
Im Vergleich zur Ausführungseffizienz von Index- und Push -Methoden zwischen den drei Browsern ist die Ausführungseffizienz von Firefox viel höher als die von IE und Chrom. In einer Million Mal ist es im Grunde zehnmal schneller. Ich bin im Vergleich zu den anderen beiden am langsamsten.
Das Folgende sind die Ergebnisse von Millionen:
Die Codekopie lautet wie folgt:
// Firefox
Index: Timer begann
Index: 229.79ms
Push: Timer begann
Push: 205.12 ms
CONECAT: Timer begann
HABE: 2136.99ms
comat mit Array: Timer begann
cacat mit Array: 2365.18ms
`` `
Die Codekopie lautet wie folgt:
// dh
Index: 2.533,744 Millisekunden
Push: 3.865,979 Millisekunden
CONECAT: 4.303,139 Millisekunden
Hände mit Array: 4.792.208 Millisekunden
In diesem Artikel wird nur die Leistung von JS untersucht. Es wird das Verständnis von JavaScript durch den Freund durch Vergleich vertiefen. Ich hoffe es kann dir gefallen.