Gibt es einen Leistungsunterschied zwischen 'lassen' und 'var' in JavaScript
Den Unterschied zwischen diesen beiden keywords in Bezug auf die Festlegung des lösungsumfangs wurde bereits ausführlich diskutiert hier, aber ich Frage mich, ob es irgendeine Art von performance-Unterschied zwischen den beiden, und wenn dem so ist, ist es vernachlässigbar, oder an welchem Punkt würde es wichtig werden?
seine fast das gleiche: jsben.ch/pXScb
Ohne Angabe einer Implementierung, die ich glaube nicht, dass dieses Thema außer in der Zusammenfassung.
Für v8, und mit const Hinzugefügt in der Mischung stackoverflow.com/questions/40070631/...
Ohne Angabe einer Implementierung, die ich glaube nicht, dass dieses Thema außer in der Zusammenfassung.
Für v8, und mit const Hinzugefügt in der Mischung stackoverflow.com/questions/40070631/...
InformationsquelleAutor Nickolai | 2014-01-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
FYI; Nach Chrome v60, keine weiteren Regressionen, die sich auftaten.
var
undlet
sind Hals und Nacken, mitvar
immer nur gewinnen, indem weniger als 1%. Real-world-Szenarien manchmal gebenvar
einen Vorteil durch Förder-und re-verwenden, aber in diesem Punkt hast du äpfel mit Birnen vergleichen, wielet
ermöglichen soll, Sie zu vermeiden, dass Verhalten, da die Semantik unterschiedlich sind.Benchmark. Firefox, IE und Rand wie
let
gut.Als der Chrome v51.0.2704.84 m (64-bit) ( V8 5.1.281.59)
let
schneller sein alsvar
in allen Fällen, die jetzt von über 5% mit ohne Verlust invar
Leistung und insgesamt in der Regel höhere Werte auf dem gleichen system.Chrom 52, lassen sich kaum noch Gewinne: lassen Sie im inneren Bereich x 93,575,363 ops/sec ±2.28% (58 läuft Stichprobe), var innen-Umfang x 81,266,031 ops/sec ±1.84% (58 läuft Stichprobe), lassen wir außen Umfang x 90,070,266 ops/sec ±1.37% (61 läuft Stichprobe), var außen Umfang x 82,425,646 ops/sec ±1.34% (59 läuft Stichprobe)
Wie der Chrome-55, lassen Sie Gewinne innerhalb Umfang von 21%, var Gewinne außerhalb Umfang von 55%. Was ist die Hölle.
Als der 60.0.3112.113 var und lassen Sie haben die gleiche Leistung.
InformationsquelleAutor TylerY86
In Schleifen lassen ist deutlich langsamer sehen:
https://jsperf.com/let-vs-var-loop
838,602
±0.77%
61% langsamer
vs.
2,136,387
±1.09%
Schnellste
Denn bei Verwendung lassen, für jeden loop-Durchlauf die variable bezieht. Beispiel:
Erträge
mit var Erträge
Wenn Sie wollen, um das gleiche Ergebnis, aber mit var Sie eine IIFE:
was auf der anderen Seite ist deutlich langsamer als die Verwendung lassen.
InformationsquelleAutor Gregor D
Gleichen Umfang (Funktion), der gleiche code, 5-fache Unterschied. Ähnliche Ergebnisse in Chrom 49.0.2623.75.
InformationsquelleAutor dchekmarev
var: Deklarieren Sie eine variable, Wert-Initialisierung optional. Lassen Sie ist schneller im außen Bereich.
lassen: Deklarieren einer lokalen Variablen mit block scope. Lassen ist ein bisschen langsam im inneren Schleife.
Ex:
InformationsquelleAutor Srikrushna Pal