Domanda

Attualmente sto lavorando su uno strumento JavaScript che, nel corso della sua esecuzione, attraverserà infine ciascun nodo del DOM.Poiché questo potrebbe essere un compito molto costoso, mi piacerebbe confrontare le prestazioni di questo script.

Qual è lo strumento migliore e gratuito per eseguire il benchmarking di uno script come questo nei principali browser?Idealmente, vorrei che lo strumento (o anche un set di strumenti):

  • **Per generare una qualche forma di report basato sui risultati del test.** Può essere semplice come una tabella che mostra i tempi di esecuzione o complesso come generare una qualche forma di grafico.Va bene comunque.
  • **Essere libero.** non è che non creda nel pagare per il software, è solo che non ho un grande bisogno di uno strumento come questo nelle mie tipiche attività quotidiane.

Se possibile, vorrei anche che lo strumento generasse diversi livelli di pagine complesse in modo da poter sottoporre a stress test una serie di DOM.Questa non è una necessità: se ne ho bisogno, posso scriverne una io stesso;tuttavia, immagino di interrogare prima la comunità per vedere se esiste già qualcosa.

È stato utile?

Soluzione

Firebug include la profilazione JS ed è probabilmente il migliore in circolazione.Anche se ho avuto problemi con il debugger di Firebug, il suo profiler è attualmente il top della gamma. Venkmann è anche un vecchio debugger/profiler JS per Firefox, nel caso in cui si riscontrassero problemi con Firebug.

L'utilizzo di questi strumenti dovrebbe fornirti quasi tutta la profilazione di cui hai bisogno su tutti i browser, anche se monitorerai solo Firefox.Se hai veramente bisogno di scendere nei dettagli sporchi della profilazione IE e simili, ci sono una serie di strumenti online che inseriscono chiamate di profilazione nel tuo javascript per aiutare a monitorare tutti i browser privi di profiler... ma anche per un nazista delle prestazioni JS come me, questo sembra inutile.

Nota: Recentemente è stato annunciato un nuovo, molto promettente profiler IE8 JS: http://blogs.msdn.com/ie/archive/2008/09/11/introducing-the-ie8-developer-tools-jscript-profiler.aspx.

Altri suggerimenti

In FireBug e FireBug Lite puoi chiamare i metodi console.time() e console.timeEnd() nel tuo codice per avviare e terminare un timer attorno a un particolare pezzo di codice.Lo strumento Profiler in FireBug misurerà il tempo impiegato da ciascuna funzione.L'ho usato molto per restringere il campo su quali linee di una funzione particolarmente lenta causano il rallentamento

Credo Firebug include la profilazione del codice JS.Naturalmente non è disponibile in tutti i principali browser, solo in Firefox.

Jeff ha pubblicato Il fantastico arresto di Javascript del browser

Benchmark JavaScript di SunSpider

Ma mi chiedo dove sia il link per il download ;)

Per JavaScript, XmlHttpRequest, accesso DOM, tempi di rendering e traffico di rete per IE6, 7 e 8 puoi utilizzare la versione gratuita Edizione dynaTrace AJAX

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top