Die akzeptierte Antwort lautet falsch !
Da JavaScript asynchron ist, wären die Werte der Variablen end of the accepted answer falsch.
var start = new Date().getTime();
for (i = 0; i < 50000; ++i) {
// JavaScript is not waiting until the for is finished !!
}
var end = new Date().getTime();
var time = end - start;
alert('Execution time: ' + time);
Die Ausführung des for kann sehr schnell sein, so dass Sie nicht sehen können, dass das Ergebnis falsch ist. Sie können es mit einem Code testen, der eine Anfrage ausführt:
var start = new Date().getTime();
for (i = 0; i < 50000; ++i) {
$.ajax({
url: 'www.oneOfYourWebsites.com',
success: function(){
console.log("success");
}
});
}
var end = new Date().getTime();
var time = end - start;
alert('Execution time: ' + time);
Die Warnung wird also sehr schnell angezeigt, aber in der Konsole sehen Sie, dass die Ajax-Anfragen fortgesetzt werden.
So sollten Sie vorgehen: https://developer.mozilla.org/en-US/docs/Web/API/Performance.now
5 Stimmen
Oftmals kann eine Aussage darüber, was Sie mit der Ausführungszeit erreichen wollen, weitaus nützlicher sein als die Beantwortung der Frage allein. Heutzutage ist die Verwendung von Profiling in Firebug oder Chrome Dev-Tools oft ein viel besserer Weg, um den Code zu finden, der Ihren CPU-Saft aufsaugt.
16 Stimmen
performance.now()
funktioniert nicht in Node.new Date().getTime()
wird in Node funktionieren.2 Stimmen
@RyanWalker oder noch einfacher
Date.now()
Es funktioniert auch in Knoten2 Stimmen
@oligofren - Manchmal möchten Sie diese Daten vielleicht erfassen. Ich habe eine Situation, in der ich dies in indexedDB schreibe
1 Stimmen
Ich habe mich gefragt, gibt es ein aktuelles Dokument (z. B. in 2020/201), das besagt, dass performance.now() besser ist als Date.now() in Node?
0 Stimmen
Für eine Einzeiler die für Funktionen verwendet werden können, damit sie ihre Ausführungszeit jedes Mal protokollieren, wenn sie ausgeführt werden, sehen Sie sich auch die folgende Antwort an stackoverflow.com/a/52286301/3577695 . Sie kapselt die Zeitsteuerungslogik in einem Dekorator, um sie bei Bedarf für Funktionen zu verwenden