Über die letzten Monate haben wir eine Leistungsverbesserung für den
Jekejeke Prolog Interpreter realisiert. Diese Verbesserung ist nun
verfügbar als Ausgabe 0.8.4. Die Ausgabe kann als Teil des
Beta-Testprogramms heruntergeladen werden. Im Folgenden werden wir die
Optimierungen hervorheben die in der neuen Ausgabe eingeführt wurden.
Wir werden auch einen kurzen Abriss zu den internen und externen
Auswirkungen
geben.
Eine Optimierung war schon seit langer Zeit in Jekejeke Prolog implementiert. Der Interpreter war schon fähig Entscheidungspunkte zu beseitigen als wir den Geschäftsplan angefangen haben. Die aktuelle Leistungsverbesserung basiert nun auf der Einsicht dass die Beseitigung von Entscheidungspunkten für weitere Optimierungen benutzt werden kann. Namentlich die Regelkörpervariablen- und die Kellerspeicherblockbeseitigung benutzen die Entscheidungspunktbeseitigung um Determiniertheit zu erkennen. Auf der anderen Seite ist die Beseitigung von Regelkopfvariablen nicht von der Determiniertheit abhängig.
Wir haben zuerst den Einfluss der Optimierungen intern gemessen. Zu diesem Zweck haben wir ein Set von Testprogrammen benutzt und die Optimierungen an- und ausgeschaltet. Wir haben unsere Optimierungen einer logischen Reihenfolge unterworfen sodass wir unseren Vergleich zu der Messung einer Verbesserungskette vereinfachen konnten. Unsere Befunde zeigten dass die Beseitigungen der Regelkörpervariablen die stärkste Verbesserung zeigt, wohingegen die Beseitigung der Regelkopfvariablen die kleinste Verbesserung zeigt.

Wir vervollständigten unsere Produktstudie mit einem externen Vergleich. Wir verglichen die optimierte Version mit einer Anzahl von verfügbaren Prologsystemen. Wir haben nur einen Vergleich mit dem Interpretermode dieser Prologsysteme durchgeführt, da wir mit dem Compilermode dieser Prologsysteme nicht mithalten können. Unser Befund war dass der schnellste Interpreter immer noch 3-mal schneller ist als unser Interpreter. Besonders die deterministischen Testprogramme in unserer Folge zeigen eine höhere Leistung in den getesteten Prologsystemen. Trotzdem sind die Ergebnisse vielversprechend da wir ein System übertreffen konnten.

Der vollständige Bericht zur Produktstudie kann von der Website
www.jekejeke.ch heruntergeladen
werden. Die Ausgabe 0.8.4 der
Laufzeitbibliothek und der Entwicklungsumgebung sind ebenfalls über
diese Website verfügbar. Beide Produktvarianten sind 100% Java und sind
daher unverändert auf einer Vielzahl von Plattformen ausführbar. Es
braucht nicht mehr als einige Klicks, dann steht Ihnen der Download
nach der Registrierung mit der Website zur Verfügung. Da das
Beta-Testprogramm noch läuft, ist die Entwicklungsumgebung nur als
Evaluationslizenz verfügbar.