[Postfixbuch-users] hash, pcre und regexp
Uwe Driessen
driessen at fblan.de
So Mai 27 02:16:37 CEST 2007
Vincent - D. Ertner schrieb:
> Oops, dann habe ich jetzt wohl den Anschein erweckt, ich hätte die
> goldene RTFM-Regel mißachtet ... ts ts ts ...
>
> Um das klarzustellen: Ich habe das Buch und auch schon die Passagen
> dazu gelesen, ich setze in der täglichen Praxis sehr oft RegEx ein und
> entwickle meine Programme auch gerne mit diesen ...
>
> Meine Frage zielte eher auf die gemessene Performance ab und wo ich
> das nachlesen könnte - und natürlich das Phänomen, das ich nicht
> verstehe, daß ich mit postmap hash:... die Dateien kompiliere, aber
> die RegEx darin trotzdem ausgewertet werden ...
>
> Nun gut, ich will nicht weiter nerven: Ich lese halt noch ein paar
> weitere Dokus und lege die Frage notfalls ungelöst zu den Akten. :P
So war das nicht gemeint es sollte eher dahin zielen das du das was du machen möchtest
nennst damit man dann evtl. schaut mit welcher map das am besten gelöst werden kann.
Der Unterschied in den Tabellen ist die Reihenfolge wie die Einträge abgearbeitet werden.
PCRE,REGEXP,CIDR zählen zu den linearen Maps welche immer von oben nach unten abgearbeitet
werden. Beim ersten Treffer der gefunden wird, wird die Suche beendet auch wenn danach
noch andere Werte kommen die evtl. sogar besser passen würden. Also kann es sein das die
ganze Map abgearbeitet wird ohne einen Treffer zu landen und da ohne "Schlüssel" dauert
das nun mal länger. Wie lange kommt immer drauf an wie viele Zeilen erfasst sind. Aber ob
jetzt eine PCRE Tabelle mit 8000 Einträgen 1 sec länger in der Abfrage auf den letzten
Eintrag wie bei gleicher Funktion als Hash map umgewandelt....
Es dauert halt länger....
Wenn's zulange dauert dann neuen Rechner kaufen *gg
Bei den Hash,btree,dbm Maps wird eine Struktur/eindeutige Schlüssel erstellt und je nach
Einsatzzweck wird dann nach einem genauen passenden wert gesucht wobei egal ob am Anfang
oder ende bei der Umwandlung machen Postmap und Konsorten mit den Inhalten das was Sie für
das beste halten. Also keine vorher definierte Positionen der Einträge wird übernommen.
Pcre Maps mit Regex abfragen habe ich noch nie versucht als hash map umzuwandeln ich meine
mal was gelesen zu haben das man das lieber lassen sollte da dann nicht mehr die
Reihenfolge der Abfrage bestimmt werden kann.
Mit freundlichen Grüßen
Drießen
--
Software & Computer
Uwe Drießen
Lembergstraße 33
67824 Feilbingert
Tel.: 06708 / 660045 Fax: 06708 / 661397
Mehr Informationen über die Mailingliste Postfixbuch-users