16 Mayıs 2012, ÇARŞAMBA
Nasıl geri çağrıları ile javascript kodu yürütme zamanı ölçmek için
Node.js tercüman kullanarak idam ediyorum bu javascript kodu bir parça var.
for(var i = 1; i < LIMIT; i ){
db.users.save({id : i, name : "MongoUser [" i "]"}, function(err, saved) {
if( err || !saved ) console.log("Error");
else console.log("Saved");
});
}
Bu db ekleme işlemi tarafından alınan ölçmek için nasıl bilmek istiyorum. Ve bu kod parçası sonra önce Tarih değerleri arasındaki farkı tahmin edemeyeceğim ama kod asenkron doğası gereği yanlış olur.
CEVAP
27 Ocak 2013, Pazar
Bunun için tasarlanmış bir yöntem yoktur. process.hrtime(); Check out .
Ben temelde benim app üstünde bu koymak.
var start = process.hrtime();
var elapsed_time = function(note){
var precision = 3; // 3 decimal places
var elapsed = process.hrtime(start)[1] / 1000000; // divide by a million to get nano to milli
console.log(process.hrtime(start)[0] " s, " elapsed.toFixed(precision) " ms - " note); // print message time
start = process.hrtime(); // reset the timer
}
Daha sonra bu fonksiyonları nasıl görmek için kullanıyorum. İşte bir metin dosyasının içeriğini adlı yazdıran temel bir örnek"": . output.txt
var debug = true;
http.createServer(function(request, response) {
if(debug) console.log("----------------------------------");
if(debug) elapsed_time("recieved request");
var send_html = function(err, contents) {
if(debug) elapsed_time("start send_html()");
response.writeHead(200, {'Content-Type': 'text/html' } );
response.end(contents);
if(debug) elapsed_time("end send_html()");
}
if(debug) elapsed_time("start readFile()");
fs.readFile('output.txt', send_html);
if(debug) elapsed_time("end readFile()");
}).listen(8080);
İşte bir terminalde çalıştırabilirsiniz hızlı bir test (BASH shell):
for i in {1..100}; do echo $i; curl http://localhost:8080/; done
Bunu Paylaş:
Nasıl windows komut yürütme zamanı ölç...
Nasıl Explorer özel CSS veya Internet ...
Nasıl '' Javascript kodu min...
Yürütme zamanı milisaniye aşağı almak ...
Nasıl C Kod Parçacığı Yürütme Zamanı H...