Generierung lokaler Optimierungen - IPD Snelting
Generierung lokaler Optimierungen - IPD Snelting
Generierung lokaler Optimierungen - IPD Snelting
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