Ich versuche jede Millisekunde einen Satz von Werten zu generieren.JavaScript, das mehr Zeit benötigt als erwartet
Durch die Verwendung von window.performance.now() habe ich festgestellt, dass 1000 Punkte (Daten im Wert von 1 Sekunde) ungefähr 1 Millisekunde Verarbeitungszeit erfordern.
Also ... warum wird eine Log-Anweisung alle 3 Sekunden und nicht alle 1 Sekunde generiert, wenn meine Bedingung zum Generieren der Anweisung lautet, dass ich 1000 Punkte generiert habe?
Der Code ist unten enthalten. Und hier ist ein Link zu jsfiddle: http://jsfiddle.net/MWadX/421/
var c = 0;
var m = 0;
var t = 0;
var x = 0;
var y = 0;
window.setInterval(function()
{
var e;
var s;
if (c === 0)
{
m = Date.now();
}
s = window.performance.now();
x += Math.random();
y += Math.random();
c++;
e = window.performance.now();
t += e - s;
if (c !== 1000)
{
return;
}
console.log(t.toFixed(0).toString() + " milliseconds");
console.log((Date.now() - m).toFixed(0).toString() + " milliseconds");
c = 0;
m = 0;
t = 0;
x = 0;
y = 0;
}, 1);
Justin Tipp, wenn Sie mehreren Variablen den gleichen Wert zuweisen, können Sie es in einer Zeile tun. Also könntest du 'c = m = t = c = y = 0;' statt was du getan hast –