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.

Prinzipien<br />

• Everything should be made as simple as<br />

possible, but no simpler<br />

- Einstein<br />

• Sicherheitsfaktoren mit einschließen<br />

• Zwei Abschätzungen sind besser als eine<br />

(zur Überprüfung der Schätzung).<br />

3. Algorithmen und<br />

Datenstrukturen<br />

Prinzip L3: Speicherung von Zwischenergebnissen<br />

statt Neuberechnung<br />

Prinzip L4: Vorverarbeitung von Daten<br />

Prinzip L5: Teile und Herrsche<br />

Prinzip L6: Dynamisches Programmieren<br />

4. Feinoptimierung<br />

(Code Tuning)<br />

• Verbessern der Laufzeit, ohne die<br />

asymptotische Laufzeit des Algorithmus zu<br />

verändern; lediglich Konstanten werden<br />

verringert.<br />

Fallstudie: Drucker<br />

• Programm erzeugt Kommandos, um Graphiken auf<br />

einem optischen Drucker zu erzeugen.<br />

– 10 Minuten für ein kompliziertes Bild ist zu lange.<br />

• Profilierung des Programms mit 10 Bildern zeigt:<br />

– 70 % der Zeit wird für die Anforderung von<br />

Speicherplatz verwendet.<br />

• Untersuchung der Speicherplatzanforderungen:<br />

– Häufigste Größe:<br />

68.000 mal<br />

– Zweit-häufigste Größe:<br />

2.000 mal<br />

• Verbesserung: Caching<br />

– Spezielle Liste für die am meisten gebrauchte<br />

Blockgröße.<br />

– 20 extra Zeilen Quellcode => Reduktion der Laufzeit<br />

auf 45%<br />

Prinzip L7: Ausnutzung eines häufig auftretenden<br />

Falles.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!