regular-expressions & php
watchout 14.10.2002 - 01:25 931 7
watchout
Legendundead
|
also, bis jetzt hab' ich mich noch nie mit regexp näher beschäftigt... jetzt hab ich aber hier ein (schirches) stück code, welches ganz laut "OPTIMIERUNG" ruft, und das ein newsboard ist, welches bb-code unterstützt... nun meine fragen: 1. brauchen regexp-funktionen einen double-quoted string? 2. wenn sie keinen double-quoted string brauchen, is' dann ein performance-unterschied zw. single und double? 3. sind funktionen wie ereg_replace, eregi_replace SCHNELLER als str_replace? (ich weiss dass str_replace keine regexp unterstützt, aber der code ist schon vorhanden....) 4. es gibt einen codeteil in besagtem code einen teil, wo eben die einzelnen bb-codes durch html-codes ersetzt werden, dort wird aber jeder einzelne bb-code einzeln abgehandelt, ist es nun besser, wenn ich das alles in einem erledige, oder zumindest die einfachen wie [ b ], [ i ] usw...? mehr fragen vielleicht später....
Bearbeitet von watchout am 01.04.2003, 19:32
|
Ringding
Pilot
|
3. sind funktionen wie ereg_replace, eregi_replace SCHNELLER als str_replace? (ich weiss dass str_replace keine regexp unterstützt, aber der code ist schon vorhanden....) 4. es gibt einen codeteil in besagtem code einen teil, wo eben die einzelnen bb-codes durch html-codes ersetzt werden, dort wird aber jeder einzelne bb-code einzeln abgehandelt, ist es nun besser, wenn ich das alles in einem erledige, oder zumindest die einfachen wie [ b ], [ i ] usw...? Die Funktionen sind auf jeden Fall sehr schnell. Und je mehr du auf einmal machen kannst, um so besser ist es.
|
bernhard
Little Overclocker
|
1. brauchen regexp-funktionen einen double-quoted string? 2. [...] is' dann ein performance-unterschied zw. single und double? 3. sind funktionen wie ereg_replace, eregi_replace SCHNELLER als str_replace? 4. [...] ist es nun besser, wenn ich das alles in einem erledige
ad 1) Nicht notwendigerweise. ad 2) Immer. ad 3) Laut php.net ist preg_* noch schneller. ad 4) Wie willst Du das anstellen?
|
watchout
Legendundead
|
ad 4) Wie willst Du das anstellen? mit variablen
|
funka
Legend ex-prophet(down below)
|
str_replace is das schnellste (dann preg) - never use ereg!
der performance unterschied zwischen " udn ' strings is minimal bei regex machts perf. keinen zusaetzlichen unterschied
|
watchout
Legendundead
|
str_replace is das schnellste (dann preg) - never use ereg!
der performance unterschied zwischen " udn ' strings is minimal bei regex machts perf. keinen zusaetzlichen unterschied hmm, das " zu ' machen hat bei einem script von mir ca 30% performance-schub gebracht, und wenn du das newsboard sehen tät'st, wo strings wie "$var" vorkommen, und das 50 mal, dann strings wie "plain" und das ca 300 mal - dann denke ich siehst du in diesem bereich auch performance-schwächen why never use ereg? weil so lahm is' oder is' was anderes...? ich hab sowieso nie den unterschied gechecked...
|
funka
Legend ex-prophet(down below)
|
die regex engine is einfach wesentlcih langsamer als die von pcre (p-reg...) das mit den 30% kann ich mir nicht vorstellen aber ansich hast schon irgendwie recht
|
watchout
Legendundead
|
das mit den 30% kann ich mir nicht vorstellen naja - is' schon ein etwas älteres script, da hab ich zwar gwusst, dass es einen untershied gibt, aber das da die performance auch reinspielt hab ich nicht behirnt.... ein $var=""; war in einer schleife, die so ca 100 mal gelaufen is' Edit: Auf jeden Fall grosses THX für die hilfe
Bearbeitet von watchout am 16.10.2002, 19:19
|