JavaScript'teki işlevlerin yürütme süresini ölçmenin en iyi yolu nedir? Tercihen Python zamanına benzer.Python zaman çizelgesine benzer şekilde JavaScript'deki zaman işlevleri nasıl kullanılır?
7
A
cevap
10
Timeit.py'ye eşdeğer bir yerleşik modül yoktur, ancak kodun yürütülmesini kolayca kendiniz gerçekleştirebilirsiniz. Daha doğru olduğu için Date.now() yerine performance.now() kullanmalısınız.
performance.now() yöntemi, bir milisaniye beş binde doğru milisaniye ölçülen DOMHighResTimeStamp, döner (5 mikro)
var start = performance.now();
//do your things
var end = performance.now();
var duration = end - start;
: MDN Dokümanlar
Bunu kendi zamanlama kitaplığınızı oluşturmak için bunu kullanabilirsiniz:
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;
}
böyle kullanırsınız hangisi:
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
Bu konuda gerçekten bir arama yapmadım, ama aradığım kadarıyla hiçbir şey bulamadım. Yapılması gereken en basit şey, fonksiyon başladığı zaman elde etmek, zaman bittiğinde zaman ayırmak ve diğerinden çıkartmaktır (Date.parse'ı milisaniye olarak dönüştürdükten sonra). Kesinlikle bir naif çözüm ama çalışan bir tanesi.
İlgili konular
- 1. Zaman çizelgesine subquery'den saat ekleme saati
- 2. Pandalar frek dizesini zaman çizelgesine dönüştürün
- 3. Zaman hesaplamak için Python nasıl kullanılır?
- 4. Twitter: Ana zaman çizelgesine anahtar ve gizli anahtarla erişme
- 5. Gen_Fsm ne zaman kullanılır ve Gen_Server ne zaman kullanılır?
- 6. android facebook sdk kullanıcının zaman çizelgesine yayın yayınla
- 7. Vektörler ne zaman kullanılır ve C++ dizini ne zaman kullanılır?
- 8. undef_method ne zaman kullanılır ve remove_method ne zaman kullanılır?
- 9. Parallel.For ne zaman kullanılır?
- 10. recyclerView.setHasFixedSize ne zaman kullanılır?
- 11. StringIO ne zaman kullanılır?
- 12. 'java.util.Objects. *' Ne zaman kullanılır?
- 13. PySpark'ta pencere işlevleri nasıl kullanılır?
- 14. Zaman damgası Python
- 15. SLEEP(), MySQL'de nasıl ve ne zaman kullanılır?
- 16. Python zaman karşılaştırması
- 17. python zaman ofseti
- 18. Bir initform ne zaman kullanılır?
- 19. Angular 2 fabrika işlevleri ne zaman kullanılmalıdır?
- 20. Devtools zaman çizelgesi nasıl doğru şekilde anlaşılır?
- 21. Unix Zaman Damgası Python
- 22. Python zaman aralığı karşılaştırması
- 23. Python psycopg2 zaman aşımı
- 24. Ne zaman React createFragment kullanılır?
- 25. Julia'nın dönüşümü ne zaman kullanılır?
- 26. Ne zaman kullanılmalı ve Aurelia'da ne zaman kullanılır?
- 27. Fabrika kalıpları ne zaman kullanılır?
- 28. İyon bölmesi ne zaman kullanılır?
- 29. Caffe'de yerinde katmanlar ne zaman kullanılır?
- 30. Python: Rastgele Sistem zaman aralığı
Pek değil, orada [console.time] (https://developer.mozilla.org/en-US/docs/Web/API/Console/time) veya [JSPerf] (http://jsperf.com/), ama aradığınızı değil – adeneo
['Performance'] hakkında (https://developer.mozilla.org/en-US/docs/Web/) API/Performans)? – Xufox