home *** CD-ROM | disk | FTP | other *** search
-
- TRACER
-
- Eine einfache Analyseroutine für Turbo-Prolog-Programme
- von Dr.L.Wenzel
-
- Bei vielen Softwareprojekten kommt nach längerer Laufzeit des
- Programmes ein Problem hinzu, das bei der Erstellung als nicht sehr
- wichtig angesehen wird. Und zwar geht es um das Zeitverhalten des
- Gesamtobjektes. Bekanntlich existieren Zeitfresser in größeren
- Programmen, deren Entdeckung aber oftmals sehr schwierig ist. Ist der
- Feind erst einmal erkannt, kann man in der Regel geeignete
- Gegenmaßnahmen einleiten, als da wären Programmierung in Assembler,
- effiziente Algorithmen,... .
-
- Übrigens spielt die Verbesserung des Zeitverhaltens (Tuning) auch in
- Datenbankprojekten eine wesentliche Rolle, es führen eben viele Wege
- nach Rom aber auch zu den gewünschten Daten.
-
- Das Programm TRACER ist in Turbo-Prolog geschrieben und dient der
- Analyse von Turbo-Prolog-Programmen. Genauer, es soll die von den
- definierten Prädikaten verbrauchte Zeit registriert werden.
-
- Derartige Analyseprogramme können auf zwei verschiedene Arten zu den
- angestrebten Resultaten kommen.
-
- 1.Zu definierten Zeittakten wird ermittelt, welches Prädikat gerade
- bearbeitet wird.
-
- 2.Das Ausgangsprogramm wird derartig manipuliert, daß eine
- Überwachung des Zeitregimes möglich wird.
-
- Hier wird der zweite Weg beschritten. Selbstverständlich beeinflussen
- Analyseprogramme das eigentliche Zeitverhalten. Demnach muß man
- anstreben, diese Einwirkung gering zu erhalten.
-
- Nach Start von TRACER wird die Eingabe des zu analysierenden
- Programmes vorgenommen. Als Ergebnis entsteht ein Turbo-Prolog
- Programm mit Namen T.PRO, das nach Übersetzung wie das
- Originalprogramm arbeitet, jedoch zusätzlich die von den einzelnen
- Prädikaten verbrauchte Zeit ermittelt.
-
- Um Schwierigkeiten bei der syntaktischen Analyse zu vermeiden, muß man
- die in den Kommentaren notierten Bedingungen einhalten. Diese
- Restriktionen sind vermeidbar, wenn man TRACER entsprechend ausbaut.
- Für ein besseres Verständnis finden Sie ein Originalprogramm
- FAKULT.PRO und das entsprechende T.PRO angegeben.
-
-
- Nach Abarbeitung des übersetzten Programmes T.PRO sehen die
- Ergebnisse etwa wie folgt aus.
- 0 --> ton --> 746
- 0 --> fakult --> 918
- 0 --> los --> 1049
- Die erste Zahl dient der Backtracking-Kontrolle, die jeweils zweite
- Zahl entspricht der verbrauchten Zeit in 1/100 Sekunden.