Javascript yürütmesini profillemenin en iyi yolu nedir? [kapalı]


94

JavaScript için iyi bir profil oluşturucu var mı? Firebug'ın profilleme kodu için bazı desteği olduğunu biliyorum. Ancak istatistikleri daha uzun bir ölçekte belirlemek istiyorum. Çok sayıda javascript kodu oluşturduğunuzu ve koddaki darboğazların gerçekte ne olduğunu belirlemek istediğinizi düşünün. İlk olarak, her javascript işlevinin ve çalıştırma süresinin profil istatistiklerini görmek istiyorum. Sonraki adım, DOM işlevlerini içerecektir. Bu, işleme ağacındaki işlemler gibi işleri yavaşlatan eylemlerle birleştirildiğinde mükemmel olur. Performansın kodumda, DOM hazırlığında veya işleme ağacı / görselindeki güncellemelerde ölmesi durumunda bunun iyi bir izlenim bırakacağını düşünüyorum.

İstediğim şeye yakın bir şey mi var? Ya da anlattıklarımın çoğunu elde etmek için en iyi araç ne olurdu? Kendi kendine derlenen bir tarayıcı artı profil işlevselliği ile geliştirilmiş bir javascript motoru olabilir mi?


Aksi NODE_ENV=production node --prof app.jstakdirde, alternatifler için stackify.com/node-js-profilers veya softwarerecs.stackexchange.com adresine bakın .
Cees Timmerman

Yanıtlar:


63

Kundakçı

Firebug, oldukça ayrıntılı bir profil oluşturma raporu sağlar. Dev (ayrıntılı) bir tabloda her bir yöntem çağrısının ne kadar sürdüğünü size söyleyecektir.

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

console.profileEnd ()Profil bloğunuzu sonlandırmak için aramanız gerekiyor . Konsol API'sine buradan bakın: http://getfirebug.com/wiki/index.php/Console_API

Blackbird

Blackbird ( resmi sitesi ) de (indirilebilir daha basit bir profil oluşturucu vardır burada )


Firefox'u bildiğimi yazdım. Tarayıcıdan javascript'in yürütülmesini etkileyen daha fazla istatistik almak istiyorum.
Norbert Hartl

1
Ditto Firebug'da ve kodlamak istemiyorsanız doğrudan konsoldan profil oluşturabilirsiniz.
Chris B

1
Firebug, alacağınız en iyi araçtır.
Sasha Chedygov

1
Safari Web Inspector'da da aynı şey çalışıyor
olliej

9
Firebug iyidir ve hepsi, ama burada bu kadar çok insanın "Firebug, Firebug!" Diye bağırdığına inanamıyorum. OP , kodunun profilini birden çok tarayıcıdan almak istediğini açıkça söylemesinden hemen sonra .
JMTyler

20

Chrome'un Geliştirici Araçları, yerleşik bir profil oluşturucuya sahiptir.


2
+1, Speed ​​Tracer iyidir ve (OP'nin bahsettiği gibi), tek bir tarayıcının onu nasıl etkilediğini görmek için kodunuzun profilini Firefox'tan daha fazla oluşturmak önemlidir.
JMTyler


4

Firebug + Firefox bir zorunluluktur. Ve IE 8'in geliştirici araç çubuğunda ayrıca yerleşik bir profil oluşturucu bulunur (IE 8, geliştirici araç çubuğuyla birlikte gelir).


4

Safari 4'ün web denetçisi ayrıca bir profil oluşturucu içerir (her ne kadar gecelerdeki sürüm yinelemeli işlev çağrıları için geliştirilmiş olsa da). Web Inspector ayrıca Firebug'ın profil oluşturucu API'lerini de destekler.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.