Jaki jest najlepszy sposób pomiaru czasu wykonywania funkcji w JavaScript? Najlepiej podobny do timeyta w Pythonie.Jak ustawić czas w JavaScript podobny do czasu w Pythonie
7
A
Odpowiedz
10
Nie ma wbudowanego modułu równoważnego timeit.py, ale można łatwo czas samodzielnie wykonać kod. Powinieneś użyć funkcji performance.now() zamiast Date.now(), ponieważ jest bardziej dokładna.
Z Dokumenty MDN:
Sposób
performance.now() Zwraca DOMHighResTimeStamp mierzona w milisekundach, z dokładnością do tysięcznych części pięciu milisekund (5 mikrosekund)
var start = performance.now();
//do your things
var end = performance.now();
var duration = end - start;
Następnie można użyć tego do zbudowania własnej biblioteki taktowania:
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;
}
Które byłoby użyć tak:
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);
1
Nie udało mi się znaleźć naprawdę ciekawych informacji, ale jak dotąd nie znalazłem nic. Najprostszą rzeczą do zrobienia jest uzyskanie czasu, kiedy funkcja się uruchamia, otrzymanie czasu po jej zakończeniu i odjęcie jednego od drugiego (po użyciu Date.parse do konwersji w milisekundach). Jest to na pewno rozwiązanie naiwne, ale działające.
Powiązane problemy
- 1. Różnice czasu w Pythonie
- 2. Jak rozszyfrować ciąg podobny do Unicode w Pythonie 3?
- 3. Jak ustawić aktualny czas w DateTimePicker
- 4. JavaScript Date - ustawić tylko datę, ignorując czas?
- 5. jak ustawić właściwy czas rozruchu w jmeterze?
- 6. Jak ustawić limit czasu polecenia w SSIS?
- 7. Jak porównać czas w javascript?
- 8. ThreeJS - jak ustawić bieżący czas w animacji
- 9. jak mierzyć czas algorytmów działa w Pythonie
- 10. klienta Array podobny getter w JavaScript
- 11. Jak ustawić tylko czas w zmiennej NSDate?
- 12. Dołącz do daty i czasu do daty Czas w C#
- 13. jak ustawić apostrof w javascript
- 14. Przyjazny dla użytkownika format czasu w Pythonie?
- 15. Jak uzyskać czas w milisekundach od epoki unixowej w JavaScript?
- 16. jak zmierzyć czas wykonania funkcji (automatycznie) w Pythonie
- 17. jak ustawić ciasteczko w Pythonie mechanizacji
- 18. Jak ustawić rozmiar początkowy słownika w Pythonie?
- 19. Jak ustawić limit czasu połączenia w SQLAlchemy
- 20. Jak ustawić limit czasu w recvmmsg()?
- 21. Jak przekonwertować czas GMT do czasu EST za pomocą python
- 22. Konwersja czas UTC do czasu pacyficznego
- 23. Jak poprawnie przechwytywać i przetwarzać limity czasu RQ w Pythonie?
- 24. jak ustawić sortowalny typ danych w Pythonie?
- 25. Jak odjąć datę/czas w javascript?
- 26. Jak ograniczyć czas wykonywania funkcji w javascript?
- 27. Czas w formacie czasu klasy Android:
- 28. Język podobny do CoffeeScript napisany w języku Python
- 29. Jak ustawić zmienną środowiskową R_user do używania rpy2 w pythonie
- 30. javascript/czas jQuery odliczanie
Niezupełnie, istnieje [console.time] (https://developer.mozilla.org/en-US/docs/Web/API/Console/time) lub [JSPerf] (http://jsperf.com/), ale nie to, czego szukasz – adeneo
Co powiesz na "Wydajność" (https://developer.mozilla.org/en-US/docs/Web/ API/wydajność)? – Xufox