Um den Code von vsync weiter zu erweitern und die Möglichkeit zu haben, timeEnd als Wert in NodeJS zurückzugeben, verwenden Sie dieses kleine Stück Code.
console.timeEndValue = function(label) { // Add console.timeEndValue, to add a return value
var time = this._times[label];
if (!time) {
throw new Error('No such label: ' + label);
}
var duration = Date.now() - time;
return duration;
};
Verwenden Sie den Code nun wie folgt:
console.time('someFunction timer');
someFunction();
var executionTime = console.timeEndValue('someFunction timer');
console.log("The execution time is " + executionTime);
Dadurch haben Sie mehr Möglichkeiten. Sie können die Ausführungszeit speichern, um sie für weitere Zwecke zu verwenden, z. B. in Gleichungen, in einer Datenbank speichern, über Websockets an einen entfernten Client senden, auf einer Webseite bereitstellen usw.
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