2008-11-11 5 views
5

Ich habe viel über Profiling gehört. Worum geht es? Soweit ich weiß, ist dies eine Art von Leistungsmessung, aber jemand kann dies genauer erläutern, so dass ein Neuling die Idee erfassen kann. Außerdem verwende ich Eclipse IDE für mein Java-Programm. Kann ich mein Programm mit Eclipse IDE profilieren? Welche Faktoren müssen beim Profiling berücksichtigt werden (ich meine die besten Praktiken)?Worum geht es bei der Profilerstellung und wie kann ich mein Java-Programm profilieren?

Antwort

6

Profiling zeigt Ihnen im Grunde, wie oft eine bestimmte Codezeile ausgeführt wird und wie viel Zeit darin verbracht wurde (im Vergleich zu anderen Zeilen). Auf diese Weise können Sie den Ort, an dem der Code die meiste Zeit verbracht hat, leicht lokalisieren.

Es macht es auch möglich, Orte zu finden, wo der Code viel Zeit ohne etwas zu tun: Dies ist das typische Zeichen einer cache miss und hier sollten Sie aktiv werden.

Normalerweise verbringen Programme sehr viel Zeit (sagen wir 90%) an einem Ort. Leider ist es nicht möglich, diesen Ort ohne Profiling zu finden. Vermutungen gehen oft schief. Also, wenn Sie an der falschen Stelle optimieren, wird dies überhaupt nicht helfen: Wenn die Gesamtzeit in dieser Zeile nur 10% beträgt, wird Ihr Code nur 10% schneller (am besten!). Wenn es Ihnen jedoch gelingt, den Anruf zu entfernen, der 90% der Zeit in Anspruch nimmt, erhält Ihr Programm zehnmal schneller.

Dies ist kurz gesagt Profiling.

Eclipse bietet eingebaute Profiling-Funktionen und mir wurde gesagt, dass sie ziemlich gut sind, aber da ich sie nicht kenne, lass jemand anderen das beantworten.

-1

Von was wenig Forschung ich Java-Profiling mit Eclipse gemacht habe, können Sie JProfiler verwenden. Ich bin nie wirklich weiter gekommen, als es zu installieren und eine schnelle Nase herum zu haben.

0

YourKit ist ein ausgezeichneter Profiler für Java und wird sich gut mit Eclipse integrieren. Es ist definitiv das Geld wert und allgemein als der beste verfügbare Java-Profiler angesehen.

1

Konrad hat Recht, aber das Profiling deckt auch andere Aspekte Ihres Programms ab, wie beispielsweise den Speicherverbrauch.