Was ist der beste Weg, um die Ausführungszeit von Funktionen in JavaScript zu messen? Vorzugsweise ähnlich wie Python-Zeit.Wie funktioniert das zeit in JavaScript, ähnlich wie Python timeit
Antwort
Es gibt kein eingebautes Modul, das äquivalent zu timeit.py ist, aber Sie können die Ausführung des Codes einfach selbst zeitgesteuert durchführen. Sie sollten performance.now() anstelle von Date.now() verwenden, da dies genauer ist.
Aus den MDN Doc:
Die performance.now() Methode liefert eine DOMHighResTimeStamp, gemessen in Millisekunden , genau fünf Tausendstel von einer Millisekunde (5 Mikrosekunden )
var start = performance.now();
//do your things
var end = performance.now();
var duration = end - start;
Sie können dann verwenden, um Ihre eigene Timing-Bibliothek wie folgt zu erstellen:
function TimeIt() {
var self = this;
function howLong(iterations, testFunction) {
var results = [];
var total = 0;
for (var i = 0; i < iterations; i++) {
var start = performance.now();
testFunction();
var end = performance.now();
var duration = end - start;
results.push(duration);
total += duration;
}
var result = {
results : results,
total : total,
avg : total/results.length
}
return result;
}
self.howLong = howLong;
}
Welche würden Sie wie folgt verwenden:
var timeit = new TimeIt();
var foo = function() {
//do some things
};
var result = timeit.howLong(1000, foo);
console.log("avg: " + result.avg);
console.log("total: " + result.total);
Ich habe keine wirklich deap Suche darüber gemacht, aber soweit ich gesucht habe, habe ich nichts gefunden. Am einfachsten ist es, Zeit zu bekommen, wenn die Funktion startet, Zeit zu erhalten, wenn sie endet, und sie voneinander zu subtrahieren (nachdem sie Date.parse verwendet haben, um sie in Millisekunden zu konvertieren). Es ist sicherlich eine naive, aber eine funktionierende Lösung.
- 1. Python timeit und Programmausgabe
- 2. Python timeit Problem
- 3. Python Unix-Zeit funktioniert nicht in Javascript
- 4. Ähnlich wie java.util in Javascript?
- 5. Python: langsam timeit() Funktion
- 6. JavaScript Frameworks ähnlich wie Cappuccino
- 7. etwas ähnlich wie Python-DJANGO in PHP?
- 8. Wie Zeit Django Abfragen
- 9. Common Lisp - Liste entpacken? (Ähnlich wie Python)
- 10. Wie Zeit in Javascript vergleichen?
- 11. Wie Datum Zeit in JavaScript
- 12. Wie funktioniert das Runden in Python?
- 13. Verkleinerungs und Obsfucating CSS ähnlich wie Javascript
- 14. Warum verwendet Python's timeit das 'Best of 3', um die verstrichene Zeit zu messen?
- 15. Systeme ähnlich wie NakedObjects?
- 16. Entsprechende Scala-Sammlung ähnlich wie Python-Wörterbuch
- 17. Gibt es etwas ähnlich wie "Perl -pe" -Option in Python?
- 18. Wie liest man Datei-Header in Python ähnlich wie C?
- 19. C# regex transformiert ähnlich wie Python
- 20. PHP-Framework ähnlich wie Python Pylons
- 21. XML-Bibliothek ähnlich wie Simplejson/Json? - Python
- 22. JavaScript-Vererbung oder wie funktioniert das?
- 23. Wie funktioniert setTimeout() in JavaScript?
- 24. Wie funktioniert das eingebettete Google Analytics-JavaScript?
- 25. Mit Semikolons innerhalb timeit
- 26. Javascript Zeit Picker wie Windows
- 27. Wie funktioniert das Python-Multiprocessing im Backend?
- 28. Python/Numpy: Wie weisen Sie das Ende + 1 Element eines Arrays ähnlich wie in Matlab?
- 29. Wie funktioniert das Python 3 quine?
- 30. timeit Modul in Python erkennt numpy Modul nicht
Nicht wirklich, es gibt [console.time] (https://developer.mozilla.org/en-US/docs/Web/API/Console/time) oder [JSPerf] (http://jsperf.com/), aber nicht das, wonach Sie suchen – adeneo
Wie wäre es mit ['Performance'] (https://developer.mozilla.org/en-US/docs/Web/ API/Leistung)? – Xufox