Apa cara terbaik untuk membuat profil eksekusi javascript? [Tutup]

94

Apakah ada profiler yang bagus untuk javascript? Saya tahu bahwa firebug memiliki beberapa dukungan untuk kode profil. Tapi saya ingin menentukan statistik dalam skala yang lebih panjang. Bayangkan Anda sedang membangun banyak kode javascript dan Anda ingin menentukan apa yang sebenarnya menjadi penghambat dalam kode tersebut. Awalnya saya ingin melihat statistik profil setiap fungsi javascript dan waktu eksekusi. Berikutnya akan memasukkan fungsi DOM. Ini dikombinasikan dengan tindakan yang memperlambat segalanya seperti operasi pada pohon rendering akan menjadi sempurna. Saya pikir ini akan memberikan kesan yang baik jika kinerja dihentikan dalam kode saya, dalam persiapan DOM atau dalam pembaruan ke pohon rendering / visual.

Apakah ada sesuatu yang mendekati apa yang saya inginkan? Atau apa alat terbaik untuk mencapai hasil maksimal dari apa yang telah saya jelaskan? Apakah itu browser yang dikompilasi sendiri ditambah mesin javascript yang ditingkatkan oleh fungsionalitas profil?

Norbert Hartl
sumber
Jika NODE_ENV=production node --prof app.jstidak berhasil, lihat stackify.com/node-js-profilers atau softwarerecs.stackexchange.com untuk alternatif.
Cees Timmerman

Jawaban:

63

Pembakar

Firebug memberikan laporan profil yang sangat rinci. Ini akan memberi tahu Anda berapa lama setiap pemanggilan metode dalam tabel raksasa (terperinci).

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

Anda perlu menelepon console.profileEnd ()untuk mengakhiri blokir profil Anda. Lihat API konsol di sini: http://getfirebug.com/wiki/index.php/Console_API

Burung hitam

Blackbird ( situs resmi ) juga memiliki profiler yang lebih sederhana (dapat diunduh dari sini )

geowa4
sumber
Saya menulis bahwa saya tahu firefox. Saya ingin memiliki lebih banyak statistik dari browser yang memengaruhi eksekusi javascript.
Norbert Hartl
1
Ditto di Firebug, dan Anda dapat membuat profil langsung dari konsol jika Anda tidak ingin mengkodekannya.
Chris B
1
Firebug adalah alat terbaik yang akan Anda dapatkan.
Sasha Chedygov
1
Hal yang sama bekerja di Safari Web Inspector
olliej
9
Firebug itu bagus dan sebagainya, tapi saya tidak percaya ada begitu banyak orang di sini yang meneriakkan "Firebug, Firebug!" tepat setelah OP mengatakan secara eksplisit bahwa dia ingin membuat profil kodenya dari beberapa browser.
JMTyler
20

Alat Pengembang Chrome memiliki profiler bawaan.

Vince
sumber
2
+1, Pelacak Kecepatan bagus, dan penting (seperti yang disebutkan OP) untuk membuat profil kode Anda di lebih dari sekedar Firefox untuk melihat bagaimana masing-masing browser memengaruhinya.
JMTyler
4

Firebug + Firefox harus dimiliki. Dan bilah alat pengembang IE 8 juga memiliki profiler bawaan (IE 8 disertakan dengan bilah alat pengembang).

Chris Brandsma
sumber
4

Inspektur web Safari 4 juga menyertakan profiler (meskipun versi dalam nightlies ditingkatkan dengan panggilan fungsi rekursif wrt). Web Inspector juga mendukung API profiler Firebug.

olliej.dll
sumber
4

Untuk JavaScript, XmlHttpRequest, Akses DOM, Waktu Rendering dan lalu lintas Jaringan untuk IE6, 7 & 8 Anda dapat menggunakan dynaTrace AJAX Edition GRATIS

Andreas Grabner
sumber
tolong, instruksi bagaimana menginstal itu sebagai addon / ekstensi di browser.
T.Todua