2009-05-12 4 views
81

Gibt es einen guten Profiler für Javascript? Ich weiß, dass Firebug einige Unterstützung für Profiling-Code hat. Aber ich möchte Statistiken auf einer längeren Skala bestimmen. Stellen Sie sich vor, Sie erstellen eine Menge JavaScript-Code und Sie möchten feststellen, was die Flaschenhälse im Code sind. Zuerst möchte ich Profilstatistiken jeder JavaScript-Funktion und Ausführungszeit sehen. Als nächstes würden DOM-Funktionen enthalten sein. Dies kombiniert mit Aktionen, die die Vorgänge verlangsamen, wie die Operation auf dem Wiedergabebaum, wäre perfekt. Ich denke, das würde einen guten Eindruck vermitteln, wenn die Performance in meinem Code, in der DOM-Vorbereitung oder in Updates für den Rendering-Tree/Visual getötet wird.Was ist der beste Weg, die Ausführung von JavaScript zu profilieren?

Gibt es etwas, was ich möchte? Oder was wäre das beste Werkzeug, um das meiste von dem zu erreichen, was ich beschrieben habe? Wäre es ein selbst kompilierter Browser plus JavaScript-Engine, die um Profilfunktionen erweitert wurde?

Antwort

60

Firebug

Firebug bietet eine sehr detaillierte Profilierung Bericht. Es wird Ihnen sagen, wie lange jeder Methodenaufruf in einer riesigen (detaillierten) Tabelle dauert.

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

Sie müssen console.profileEnd() rufen Sie Ihr Profil Block zu beenden. Siehe die Konsole API hier: http://getfirebug.com/wiki/index.php/Console_API

Amsel

Amsel (official site) auch ein einfacheres Profiler hat

+0

Ich schrieb, dass ich Firefox kenne. Ich möchte mehr Statistiken vom Browser haben, die die Ausführung des Javascript beeinflussen. –

+0

Errr ... Ich meinte Firebug;) –

+1

Dito auf Firebug, und Sie können Profil direkt von der Konsole aus, wenn Sie es nicht codieren möchten. –

4

Firebug + Firefox ist ein (kann von here heruntergeladen werden) haben. Und die Entwicklersymbolleiste des IE 8 verfügt auch über einen integrierten Profiler (IE 8 wird mit der Entwicklersymbolleiste ausgeliefert).

4

Der Webinspektor von Safari 4 enthält auch einen Profiler (obwohl die Version in den Nachtbüchern bei rekursiven Funktionsaufrufen verbessert wurde). Der Web Inspector unterstützt auch die Profiler-APIs von Firebug.

12

Obwohl Firebug erwähnt wurde, ist eine weitere Sache, die Sie mit Firebug betrachten möchten, ein Plugin für Firebug namens FireUnit; John Resig spricht darüber in diesem Blog-Post:

JavaScript Function Call Profiling

Hoffnung, das hilft.

+0

Hier scheint Download-Link - https: // github.com/Jeresig/Fireunit/Baum/Master –

4

Für JavaScript, XmlHttpRequest, DOM-Zugang, Renderzeiten und Netzwerkverkehr für IE6, 7 & 8 Sie die kostenlosen dynaTrace AJAX Edition

+0

bitte, wie man das als Addon/Erweiterung im Browser installiert. –

17

Chrome Developer Tools verfügt über einen integrierten in Profiler verwenden können.

+2

+1, Geschwindigkeit Tracer ist gut, und es ist wichtig (wie das OP erwähnt), um Ihren Code in mehr als nur Firefox zu profilieren, um zu sehen, wie der einzelne Browser es beeinflusst. – JMTyler

Verwandte Themen