Performance von Managed Code verbessern: Der CLR Profiler
Mit dem CLR Profiler kann man Daten über eine .Net Anwendung sammeln und damit (in erster Linie) zwei Auswertungen vornehmen: Wo verbringt die Anwendung die meiste Zeit - und wer verbraucht wieviel Speicher?
Es nützt natürlich nichts mit einem Profiler an eine Anwendung heranzugehen bei der das Design schon von Haus nicht viel taugt: Aber selbst in einem solchen Fall sollte es mit dem Profiler möglich sein die 'bösen' Stellen relativ schnell zu finden.
Eine Video-Einführung zum CLR Profiler gibts hier. Den Profiler selbst, einschliesslich Source und Binaries, gibts hier.
Bevor man sich an den Profiler macht, sollte man sich aber mit den Performance Grundlagen auseinandersetzen. Dazu ein paar relevante Artikel:
- Writing Faster Managed Code: Know What Things Cost
- Garbage Collector Basics and Performance Hints
- Writing High-Performance Managed Applications : A Primer
Besonders wer aus einem C/C++ Hintergrund kommt sollte sich mit den Performance-Spielregeln bei managed Code auseinandersetzen: Die Unterschiede zu C/C++ sind teilweise recht krass.