25.10.2012 Aufrufe

Generierung lokaler Optimierungen - IPD Snelting

Generierung lokaler Optimierungen - IPD Snelting

Generierung lokaler Optimierungen - IPD Snelting

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.

5 Evaluation<br />

Tabelle 5.1 zeigt die ermittelten Ausführungszeiten der beschriebenen Implementierung<br />

von Optgen für die einzelnen Kostenstufen sowie die Anzahl der erzeugten Muster und<br />

der generierten Regeln. Für die Kostenstufe 3 war keine Ausführung mit einer vollständigen<br />

Menge aller Operationen in annehmbarer Zeit möglich. Aus diesem Grund wurde<br />

eine partielle <strong>Generierung</strong>, einmal für die arithmetischen Operationen neg, add, sub, mul<br />

und einmal für die Bit-Operationen not, or, and, xor für die Kostenstufe 3 durchgeführt.<br />

Die Ergebnisse sind in Tabelle 5.1 aufgeführt. Die Menge der erzeugten Muster nimmt<br />

durch die Erhöhung der Kostenstufe von eins auf zwei deutlich zu. In noch stärkerem<br />

Maße steigt die benötigte Zeit, von 31 s auf knapp 1,25 h (4 499 s). Da Optgen nicht<br />

bei jedem Übersetzungsvorgang ausgeführt werden muss, sondern nur einmal bei der<br />

Entwicklung des Übersetzers, erscheint dieser Wert in Anbetracht dessen, dass alle Konstanten<br />

berücksichtigt wurden als akzeptabel.<br />

Tabelle 5.1:<br />

Kostenstufe 1 2 3 (Arithm.) 3 (Bit)<br />

Erzeugte Muster 363 734 4 189 969 8 173 051 85 052 711<br />

Optimale Muster 1 738 364 164 74 792 2 011 961<br />

Optimierungsregeln 17 99 90 162 640<br />

Transformationsregeln 6 264 892 346 412 539<br />

Laufzeit 31 s 4 499 s 374 s 621 548 s<br />

Übersicht über die Ausführungszeiten, die erzeugten Muster und Regeln,<br />

aufgeschlüsselt nach Kostenstufen.<br />

Die benötigte Laufzeit eines <strong>Generierung</strong>svorgangs hängt stark von den involvierten<br />

Operationen ab. Dies ist an den großen Unterschieden zwischen den Laufzeiten der<br />

Kostenstufe 3 für arithmetische Operationen und der Kostenstufe 3 für Bit Operationen<br />

zu erkennen. Eine Erklärung ist, dass sich Regeln mit ausschließlich arithmetischen<br />

Operation besser aggregieren lassen, wofür auch die niedrigere Anzahl der ermittelten<br />

Optimierungs- und Transformationsregeln spricht.<br />

Dieser Eindruck bestätigte sich bereits während der Implementierung von Optgen. Es<br />

zeigt sich, dass sich vor allem für Muster mit Bit-Operationen und Konstanten viele Regeln<br />

ergeben, die auf Abhängigkeiten zwischen den Konstanten eines Musters basieren.<br />

Durch das schrittweise hinzufügen eingeschränkter symbolischer Konstanten mit neuen<br />

Bedingungen, war jedes mal eine Laufzeitverbesserung und eine Verringerung der erzeugten<br />

Regel zu beobachten. Evtl. lässt sich das Konzept der eingeschränkten symbolischen<br />

Konstanten weiter ausbauen, so dass eine weitere Beschleunigung des <strong>Generierung</strong>svorgangs<br />

erreicht wird.<br />

Aufgrund der langen Laufzeiten stellt sich die Frage, welche Phase des Verfahrens den<br />

größten Anteil der Laufzeit beansprucht. Wie zu erwarten ist und wie auch den Laufzeiten<br />

aus Tabelle 5.2 entnommen werden kann, ist dies sowohl der Vorabtest als auch der<br />

Erfüllbarkeitstest.<br />

68

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!