01.03.2014 Aufrufe

Programmoptimierung

Programmoptimierung

Programmoptimierung

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!