next up previous contents
Next: 4 Das Hilfsprogramm makebib.pl Up: 3 Implementierung Previous: 3.4 Die erzeugte Verzeichnisstruktur

3.5 Performance

Anders als eine richtige Interpretersprache wie z.B. die Bourne Shell, die ein Skript Zeile für Zeile bearbeitet, übersetzt und ausführt, kompiliert die Programmiersprache Perl das Programm zunächst in eine Zwischenform, dem sogenannten Bytecode, den es dann vom Interpreter auszuführen gilt. Bereits beim Kompilieren werden Fehler gefunden und Optimierungen durchgeführt. Daher ist Perl signifikant schneller als ein ähnliches auf der Shell basierendes Programm. Es ist jedoch langsamer als ein in C oder C++ geschriebenes Programm, da der erzeugte Bytecode interpretiert werden muß. Der Vorteil von Perl gegenüber Programmiersprachen wie C oder C++ liegt in der Fähigkeit, ausgezeichnet mit Strings umgehen zu können.

Es läßt sich schlecht absolut sagen, wie lange das Script zur Bearbeitung eines Dokuments braucht. Viel zu viele Faktoren beeinflussen die Abarbeitungszeit, wie z.B. die Hardware des Rechners und die vorhandenen Systemressourcen sowie die Länge des Dokuments und deren Anzahl an Bildern. Für die Abarbeitung dieses Schriftstücks brauchte ein Intel 486 DX 100 mit 32 MB Hauptspeicher 2:32 Minuten. Eine SparcStation 20 mit zwei SPARC Prozessoren und 128 MB Hauptspeicher benötigte dagegen nur 2:00 Minuten. Die dabei erzeugte Last stieg weit über den Wert 1.00[*] an. Weitere Messungen an mehreren Dokumenten ergaben teilweise drastisch längere Laufzeiten, die v.a. von der Anzahl und Größe eingebetteter Bilder abhängig waren.

Wegen der relativ hohen Systembelastung über einen längere Zeitraum hinweg, kommt eine Online-Abarbeitung nicht in Frage. Überlicherweise soll die Konvertierung als Cron-Job über Nacht durchgeführt werden, so daß die Ergebnisse am nächsten Tag vorliegen. Daher ist die Frage der Geschwindigkeit und Systembelastung zu vernachlässigen.


next up previous contents
Next: 4 Das Hilfsprogramm makebib.pl Up: 3 Implementierung Previous: 3.4 Die erzeugte Verzeichnisstruktur
Copyright Munich Network Management Team