Moin,
Ich bin PERL-Neuling und habe grade ein kleines Programm für eine interaktive Linksammlung geschrieben. Nun versuche ich, das Skript - wenn möglich - zu optimieren, da ich annehme, dass bei steigender Datenmenge die Antwortzeit sich immer mehr verlängern wird (aufgrund der immer länger werdenen Linkdatei, die ich immer ganz auslesen und jede Zeile splitten muss).
Nun meine Frage: Gibt es Abfragen, etc. die schneller verarbeitet werden als andere?
Gibts sonst irgendwas anzumerken, was das System und die Datenübertragung zum Browser bremst? Jede Anregung ist gerne willkommen.
Ich vermute mal zunächst, daß sich die Länge der Linksammlung vorerst nicht im Megabyte-Bereich bewegen wird. Es gibt allerdings ein paar Dinge, die man unabhängig davon immer ins Auge fassen kann.
Weiter unten im Forum http://www.teamone.de/selfaktuell/self_forum/40907.html war z.B. gerade von einem perl-Compiler die Rede, auch wenn dieser noch im beta-Stadium zu sein scheint.
Beim Aufruf des Perl-Interpreters vergeht immer schon eine gewisse Mindestzeit, um den Perl-Prozess zu starten usw. Bei einigen Webservern kann man dies umgehen, indem man ein für den jeweiligen Server speziell optimiertes Perl als Modul installiert, welches dann resident im Speicher gehalten wird. Für Apache ist dies mod_perl, für IIS unter Winxx gibt es etwas analoges als .dll (guck z.B. mal auf http://www.activestate.com/plex/).
Dann solltest Du checken, ob Dein Skript die 'cgi.pm'-Library verwendet und im Falle eines Falles überlegen, ob das unbedingt Not tut. Die cgi.pm besteht nämlich aus ca. 190kB Quellcode, der auch erst einmal geparst sein will, bevor die erste Antwort-Zeile vom Skript zurückgeliefert wird. Wenn es z.B. nur darum geht, Formulardaten zu parsen, dann tut es auch der 10-Zeiler, der in selfhtml im cgi-Unterkapitel steht.
Das war's erstmal, was mir an Anregungen spontan so einfällt...
Bis dannundwann...
Andreas