Programmoptimierung
Programmoptimierung
Programmoptimierung
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Wahlsprüche zur<br />
<strong>Programmoptimierung</strong> (3)<br />
• We should forget about small inefficiencies,<br />
say about 97% of the time.<br />
– Donald Knuth<br />
• In non-I/O<br />
I/O-bound programs, a few percent of<br />
the source code typically account for over<br />
half of the run time.<br />
– Donald Knuth<br />
• Before optimizing, use a profiler to locate the<br />
“hot spots” of the program.<br />
– Mike Morton<br />
I. Laufzeit-Reduktion<br />
Wahlsprüche zur<br />
<strong>Programmoptimierung</strong> (4)<br />
• To speed up an I/O-bound program, begin<br />
by accounting for all I/O. Eliminate that which<br />
is unnecessary or redundant and make the<br />
remaining as fast as possible.<br />
– David Martin<br />
• The fastest I/O is no I/O.<br />
– Nils-Peter Nelson<br />
• The cheapest, fastest and most reliable<br />
components of a computer system are those<br />
that aren’t there.<br />
– Gordon Bell.<br />
Fallstudie: N-KörperN<br />
Körper-Problem<br />
• Nur wenn notwendig!<br />
• Finde die Zeitfresser mittels Laufzeitprofilierer<br />
und optimiere nur diese!<br />
• Wenn eine kleine Beschleunigung erzielt<br />
werden soll, arbeite auf der<br />
vielversprechendsten Optimierungsebene.<br />
• Wenn eine große Beschleunigung gewünscht<br />
ist, beachte alle Optimierungsebenen.<br />
• Ein Programm für das Vielkörperproblem simuliert<br />
die Bewegungen von N Körpern im dreidim. Raum,<br />
unter Berücksichtigung ihrer<br />
– Massen,<br />
– Ausgangspositionen,<br />
– Geschwindigkeiten und<br />
– gegenseitiger Anziehungskräfte.