Vor ein paar Monaten habe ich meine eigene Routine zusammengestellt, die eine Funktion mit Date.now() zeitgesteuert ausführt - obwohl zu diesem Zeitpunkt die akzeptierte Methode performance.now() zu sein schien. weil das Performance-Objekt in der stabilen Node.js-Version noch nicht verfügbar (eingebaut) ist.
Heute habe ich weitere Nachforschungen angestellt und eine andere Methode zur Zeitmessung gefunden. Da ich auch herausgefunden habe, wie man diese in Node.js-Code verwenden kann, dachte ich, ich würde sie hier teilen.
Die folgenden Angaben sind aus den Beispielen von w3c y Node.js :
function functionTimer() {
performance.mark('start')
functionToBeTimed()
performance.mark('end')
performance.measure('Start to End', 'start', 'end')
const measure = performance.getEntriesByName('Start to End')[0]
console.log(measure.duration)
}
HINWEIS:
Wenn Sie beabsichtigen, die performance
Objekt in einer Node.js-App zu verwenden, müssen Sie das folgende require einfügen: const { performance } = require('perf_hooks')
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