Am 2005-05-20 10:10:38, schrieb erkan yanar: > On Thu, May 19, 2005 at 04:27:39PM +0200, Helmut Wollmersdorfer wrote:
> > Ich bau derzeit an einem Filter mittels regex in Perl, der tausende > > Patterns auf Files mit Millionen Zeilen anwenden soll. Mein erster > > Ansatz mit den Testfiles (~2500 Patterns, ~3000 Zeilen) hat 4 min auf Also bei meinen knapp über 600 benötige ich rund eine halbe Sekunde mit procmail und BASH Script auf einem Sempron 2200 mit 256 MByte. > > einem Athlon XP2500 gebraucht, nach Tuning 58 sec. Durch einen > > ausgefeilten Algorithmus bin ich jetzt auf 0.2 sec. > > Kannst Du mal einen Verweis senden, wo man die Evolution deines Filters > nachvollziehen kann? Ob Du es glaubst oder glaubst, mich würde das auch interessieren :-) Aber ich gehe mal davon aus, das die pattern beim hinzufügen einer neuen neu compiliert werden müssen, währen ich ledeglich was hinzufüge. Allerdinsg will ich die Pattern-Liste demnäschts ändern, sprich <serialdate><tab><pattern> Serialdate ist immer der lezte Zugriff, was dann mit (cat $LISTE;echo) | while read SDATE PATTERN do ... done verarbeitet werden kann. Sollte ein Hit erfolgen, setze ich das neue SDATE=`date +%s`, update die Liste und mache ein 'sort' (reverse), was das jüngste Datum an den Anfang setzt. Desweiteren mache ich es konfigurable, wann PATTERN rausgeschmissen werden, wie z.B., nach 4 Wochen (2419200 Sekunden) oder so. Ich habe mit einem Test-System festgestellt, das gewisse PATTERN seit über 4 Monaten schon nicht mehr existieren, genaugenommen diese NUR ZUM SPAMEN gemachet Domains. > interressiert > erkan Greetings Michelle -- Linux-User #280138 with the Linux Counter, http://counter.li.org/ Michelle Konzack Apt. 917 ICQ #328449886 50, rue de Soultz MSM LinuxMichi 0033/3/88452356 67100 Strasbourg/France IRC #Debian (irc.icq.com)
signature.pgp
Description: Digital signature