WikiDer > Profiler
EIN Profiler ist ein Programm zur Analyse der Ausführungsgeschwindigkeit und des Speicherverbrauchs anderer Programme. Es ist in Informatik ein wichtiges Werkzeug bei der Entwicklung von Programmen, deren Geschwindigkeit entscheidend ist.
Ein Profiler bestimmt für jeden Teil des zu profilierenden Programms, wie viel Prozent für diesen Teil ausgegeben werden. Auf diese Weise kann der Entwickler bestimmen, welches Teil optimiert werden muss, um die meisten Geschwindigkeitsgewinne zu erzielen.
Profilgeführte Optimierung
Compiler sind heute schon sehr gut darin, Programme automatisch zu optimieren. Ein großes Problem besteht jedoch darin, dass der Compiler viel zu wenig über das zu kompilierende Programm weiß.
Ein Beispiel:
for (int i = 0; i < 100; i ) { if (i == 90) Foo (); elseBar(); }In diesem Beispiel wird deutlich, dass die sonstBlock wird viel häufiger ausgeführt als der wenn-Block. Dies kann der Compiler jedoch oft nicht herausfinden. Wenn der Compiler in einem solchen Fall wüsste, welche Option häufiger vorkommt, könnte er viel besser optimieren.
Durch profilgeführte Optimierung Ist das möglich. Sie führen zunächst eine normale Version Ihres Programms mit einem Profiler aus. Aus dem Ergebnis des Profilers extrahiert der Compiler dann die Informationen, die er zur Optimierung des kompilierten Programms benötigt.