5

Chrome profilinden (Geliştirici Araçları) bilgi almak mümkün mü?Chrome profiler işlevinde Javascript sayımı işlev çağrıları

console.count("Function called"); 

ve bazı gerçekten eski (yıl 2011 ve civarında) konuları ve özellik isteği this one gibi:
Ben kodda nasıl yapılacağını buldum. Ancak, her fonksiyon çağrısının kaydedilmesi mümkün ise yeni bilgi yok.

Bazen, bazı aramaların saniyede birçok kez çağrıldığını ve yalnızca bir kez çağrıldığında performansı büyük ölçüde artıracağını anlarsınız (yürütme için biraz gecikme ekleyin). Bu fonksiyonları izlemek için sayaç gereklidir.

+1

Eğer Timeline profiler'i daha yeni Chrome'da çalıştırıyorsanız (dev kanal kesinlikle, belki de kararlı), Kaynak kodunuz kod başına ms cinsinden çalışma süresine sahip olacaktır. devtools içinde gösterilen blok. Ayrıca, optimizasyon sürecinizin ilk adımı mı? İşlev 100 kez çağrılırsa ancak genel süre üzerindeki etkisi 1 saniyede 1 ms'den azsa ne olur? – wOxxOm

+2

Teşekkür ederim. Biliyorum, ama gerçekten arama sayımı yapmak istiyor. – Makla

cevap

5

Alacaksın Chrome Dev Tools standart profilci bir örnekleme profilci olduğundan bkz işlev çağrıları zaman çizelgesi/CPU profilcisine içinde sayılmaz.

Örnekleme profiler, uygulama yığını anlık görüntülerini önceden tanımlanmış bir aralıkta alır. Bunu yapmak üzereyken, JS yürütme durdurulur ve geçerli yürütme yığını üzerinde işlevler kaydedilir. Zaman çizelgesinin alev tablosunda gördüğünüz şey budur. Tarif edilen davranış göz önüne alındığında, bir örnekleme profilleyicisinin numaralı telefonun tüm işlev çağrılarını kaydetmediği açıkça belirtilmelidir (bir işlev çağrılabilir ve 2 ölçüm aralıkları arasında çalışmasını tamamlayabilir.).

numaralı tüm işlev çağrılarını kaydedebilen diğer profilleyicilerde, kullanımı en kolay olan Web Tracing Framework olabilir. Kodunuzu işleyerek çalışır (her bir işlev çağrısını ölçüm koduyla sarmalayarak yeniden yazın). WTF, kurulum için biraz daha zaman alır (enstrümantasyon adımı) ve ölçülen zamanlar üzerinde etkisi olacaktır (yeni kodu enjekte ettiği için), ancak en azından tüm işlev çağrılarını gösterebilir.

Sonuç olarak, tüm izleme işleri için mükemmel olacak tek bir profil bulunmaması. Ölçmek istediğiniz şeye göre farklı olanları kullanmanız gerekir. Farklı profil oluşturucuların ayrıntılarına girecek mükemmel bir konuşma var, şiddetle tavsiye edilir: https://www.youtube.com/watch?v=nxXkquTPng8

İlgili konular