Thread Performance: Was kann ich verbessern? (11 answers)
Opened by Rambo at 2003-12-05 22:47

ptk
 2003-12-08 15:44
#74712 #74712
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Auf die Ursprungsfrage zurueckkehrend: ist "unzip -p zipfile | grep string" um Groessenordnungen schneller als deine Perl-Version? Wenn nicht, dann kann man auch in der Perl-Version nichts schneller machen.

Ein paar Dinge kann man vielleicht trotzdem tunen. Du verwendest eine variable Regexp:
if ($line =~ /$String/) {
Mit Einfuegen des Modifiers /o wird die Regexp einmalig compiliert und sollte dadurch schneller ausgefuehrt werden. Aber Achtung! Du kannst diesen Modifier nicht verwenden, wenn sich $String aendern sollte. Um das zu umgehen, muesste man die gesamte Schleife in ein eval "" packen.

Du verwendest getline. Evtl. ist es etwas schneller, wenn du in groesseren Bloecken einliest (4K oder 8K) oder gar die ganze Datei. Man muss dann beim Match aufpassen, wenn man sich gerade an der Blockgrenze befindet.

View full thread Performance: Was kann ich verbessern?