2009-05-12 48 views
81

Javascript için iyi bir profiler var mı? Firebug'un profil oluşturma konusunda bazı desteği olduğunu biliyorum. Fakat istatistikleri daha uzun bir ölçekte belirlemek istiyorum. Çok fazla javascript kodu oluşturduğunuzu ve aslında koddaki darboğazları belirlemek istediğinizi düşünün. İlk başta her javascript işlevinin ve yürütme süresinin profil istatistiklerini görmek istiyorum. Ardından DOM işlevleri dahil olacaktır. Bu, işleme ağacındaki işlem gibi işleri yavaşlatan eylemlerle birleştirildiğinde mükemmel olur. Performansın kodumda, DOM hazırlığında veya oluşturma ağacı/görselindeki güncellemelerde öldürülmesi durumunda bunun iyi bir izlenim olacağını düşünüyorum.Javascript yürütme işleminin en iyi yolu nedir?

İstediğim şeye yakın bir şey var mı? Ya da tanımladığımın çoğunu başarmak için en iyi araç hangisiydi? Kendi kendini derlenmiş tarayıcı artı profil işlevselliği tarafından geliştirilmiş javascript motoru mu?

cevap

60

Firebug

Kundakçı oldukça detaylı profil rapor sunar. Her bir yöntem çağırma işleminin dev (ayrıntılı) bir tabloda ne kadar sürdüğünü söyleyecektir.

console.profile([title]) 
//also see 
console.trace() 

Profilinizin bloğunu sonlandırmak için console.profileEnd() çağırmanız gerekir. http://getfirebug.com/wiki/index.php/Console_API

Blackbird

Karatavuk (official site) ayrıca

+0

Firefox'u bildiğimi yazdım. Tarayıcıdan javascript'in çalıştırılmasını etkileyen daha fazla istatistik istiyorum. –

+0

errr ... Firebug'ı kastettim;) –

+1

Firebug üzerinde Ditto ve kodlamak istemiyorsanız doğrudan konsoldan profil oluşturabilirsiniz. –

4

Kundakçı + Firefox bir olması gerekir (here indirilebilir) daha basit bir profil oluşturucu vardır: Burada konsol API bakın. Ve IE 8'in geliştirici araç çubuğunda ayrıca bir geliştirici bulunur (IE 8, geliştirici araç çubuğuyla birlikte gelir).

4

Safari 4'ün web denetçisinde ayrıca bir profiler bulunur (gece klüplerindeki versiyonun iyileştirilmiş yinelenen işlev çağrıları olmasına rağmen). Web Denetçisi Firebug'un profiler API'lerini de destekler.

12

Firebug'dan bahsedilmesine rağmen, Firebug ile bakmak istediğiniz bir başka şey de Firebug için FireUnit; Bu blog yayınında bu konuda John Resig görüşmeler: yardımcı

JavaScript Function Call Profiling

Umut. ÜCRETSİZ dynaTrace AJAX Edition

+0

Burada indir linki var gibi görünüyor - https: // github.com/jeresig/fireunit/tree/master –

4

, yerleşik bir profilleyiciyi vardır.

+0

lütfen, tarayıcıya addon/extension olarak nasıl kurulacağına dair talimat verin. –

17

Chrome'un Geliştirici Araçları kullanabilirsiniz 7 & 8 JavaScript, XMLHttpRequest, DOM Erişim, Rendering Times ve IE6 için ağ trafiği için

+2

+1, Speed ​​Tracer iyi ve (OP adı verilen gibi) kodunuzu tek bir tarayıcının nasıl etkilediğini görmek için sadece Firefox'tan daha fazla profil oluşturması önemlidir. – JMTyler

İlgili konular