...
- Tyrius
Sen işlevleri tanımlamak için çalışmalısınız Çalışmak için çok zaman alıyorlar.
Not: Uygulamanızın indirmelerle yavaşlamadığını varsayalım, indirme sürelerini Chrome Dev Tools'da kontrol edebilirsiniz (TTFB çok yüksekse, sunucu tarafında yavaşlık olabilir).
birkaç fonksiyonlar olup denilen çok kez orada
: çok
function ExampleFunction() {
console.time("ExampleFunction");
// ExampleFunction code
// ...
console.timeEnd("ExampleFunction");
// output in console time between time() call and timeEnd() call
}
varsa aradığınız hangi işlevleri biliyorsanız
, iki ihtimal vardır Birçok kez çağrılan işlevler:
0 adlı küçük JS aracımı kullanmanızı öneririm
function ExampleFunction() {
let mId = Monitor.Start("ExampleFunction");
// ExampleFunction code
// ...
Monitor.Stop(mId);
}
ve çok fazla zaman alıyor hangi işlevi ne görmek ne zaman, bu işlevi çağırır:Çalıştırmak için çok fazla zaman ayırdığınız kod blokları tespit aşamasında yardımcı olabilecek kez
function ShowMonitorRecords() {
// get all records sorted by total_time desc
let records = Monitor.GetAll().sort((a,b)=>{ return b.total_time - a.total_time; });
// print every records
for (let record of records) {
let avg = record.total_time/record.call_count;
console.log(record.name + ": " + record.total_time.toFixed(2)
+ "ms - called " + record.call_count
+ " time(s) - average time : "+ avg.toFixed(2) +"ms");
}
}
// will output something like :
// Foo: 7234.33ms - called 2 time(s) - average time : 3617.16ms
// Bar: 6104.25ms - called 3 time(s) - average time : 2034.75ms
hangi işlevi çok fazla zaman alıyor, uygulamanızı ve refactor'ınızı yavaşlatan kodun tam bloğunu tanımlamak için Start/Stop'un kapsamını azaltabilirsiniz.
Bu yardımcı olur umarız!
Kodunuzu paylaşabilir misiniz? Yani ben kontrol edecektim – Ygalbel
Hayır yapamam. Oldukça büyük bir proje ... Ve diğer projeler için kullanabileceğimiz ve toplum için faydalı olabilecek genel bir çözüm arıyorum ... –