Skip to content

Perl vs. egrep - ...

Bevor ich das wieder vergesse, manchmal lohnt es sich Gedanken über die Wahl des Tools zu machen.

Nehmen wir den Fall, dass Du aus einer Worliste alle fünfbuchstabigen Wörter suchst, die spiegelbar sind, also am Anfang zwei Buchstaben haben, die am Ende in umgekehrter Reihenfolge stehen, wie zum Beispiel "neben" oder "stets".

Dann löst perl die Aufgabe auf meinem Testrechner in 0,425 und egrep in 2,069 Sekunden. Das ist für eine Einzelabfrage nicht wichtig, aber in Summe bei sehr großen Datenbeständen spielt so etwas natürlich eine Rolle.

Zum selber testen (am besten mehrfach laufen lassen):

u@ws:~$ time perl -ne 'print if /^(.)(.)(.)\2\1$/' < /usr/share/dict/ngerman > /dev/null
real 0m0.425s
user 0m0.412s
sys 0m0.012s

u@ws:~$ time egrep "^(.)(.)(.)\2\1$" < /usr/share/dict/ngerman > /dev/null
real 0m2.069s
user 0m2.004s
sys 0m0.012s

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Noch keine Kommentare

Kommentar schreiben

Gravatar, Favatar, Pavatar, Identica, Twitter, MyBlogLog Autoren-Bilder werden unterstützt.
BBCode-Formatierung erlaubt
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
:'(  :-)  :-|  :-O  :-(  8-)  :-D  :-P  ;-) 
Formular-Optionen