Was ist der beste Weg, um die Ausführung von Javascript zu profilieren? [geschlossen]


94

Gibt es einen guten Profiler für Javascript? Ich weiß, dass Firebug die Profilerstellung von Code unterstützt. Aber ich möchte Statistiken in einem längeren Maßstab ermitteln. Stellen Sie sich vor, Sie erstellen viel Javascript-Code und möchten feststellen, welche Engpässe im Code tatsächlich bestehen. Zuerst möchte ich Profilstatistiken jeder Javascript-Funktion und Ausführungszeit sehen. Als nächstes würden DOM-Funktionen eingeschlossen. Dies in Kombination mit Aktionen, die Dinge wie die Operation am Rendering-Baum verlangsamen, wäre perfekt. Ich denke, dies würde einen guten Eindruck hinterlassen, wenn die Leistung in meinem Code, in der DOM-Vorbereitung oder in Aktualisierungen des Rendering-Baums / Visuals beeinträchtigt wird.

Gibt es etwas in der Nähe von dem, was ich will? Oder was wäre das beste Werkzeug, um das Beste aus dem herauszuholen, was ich beschrieben habe? Wäre es ein selbst kompilierter Browser und eine Javascript-Engine, die durch Profilfunktionen erweitert wird?


Wenn dies NODE_ENV=production node --prof app.jsnicht der Fall ist, finden Sie Alternativen unter stackify.com/node-js-profilers oder softwarerecs.stackexchange.com .
Cees Timmerman

Antworten:


63

Firebug

Firebug bietet einen sehr detaillierten Profilierungsbericht. Hier erfahren Sie, wie lange jeder Methodenaufruf in einer riesigen (detaillierten) Tabelle dauert.

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

Sie müssen anrufen console.profileEnd (), um Ihren Profilblock zu beenden. Die Konsolen-API finden Sie hier: http://getfirebug.com/wiki/index.php/Console_API

Amsel

Blackbird ( offizielle Seite ) hat auch einen einfacheren Profiler (kann hier heruntergeladen werden )


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

1
Das Gleiche gilt für Firebug, und Sie können direkt von der Konsole aus ein Profil erstellen, wenn Sie es nicht codieren möchten.
Chris B

1
Firebug ist das beste Tool, das Sie bekommen.
Sasha Chedygov

1
Das Gleiche funktioniert im Safari Web Inspector
olliej

9
Firebug ist gut und alles, aber ich kann nicht glauben, dass hier so viele Leute "Firebug, Firebug!" Gleich nachdem das OP ausdrücklich gesagt hatte, dass er seinen Code von mehreren Browsern aus profilieren möchte.
JMTyler

20

Die Entwicklertools von Chrome verfügen über einen integrierten Profiler.


2
+1, Speed ​​Tracer ist gut und es ist wichtig (wie im OP erwähnt), Ihren Code in mehr als nur Firefox zu profilieren, um zu sehen, wie sich der einzelne Browser darauf auswirkt.
JMTyler


4

Firebug + Firefox ist ein Muss. In der Entwickler-Symbolleiste von IE 8 ist auch ein Profiler integriert (IE 8 wird mit der Entwickler-Symbolleiste geliefert).


4

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


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.