Vykonavani EREGI (PHP4)

Ing. Miloslav Ponkrác miloslav.ponkrac na interval.cz
Středa Leden 9 22:26:42 CET 2002


>Mam problem s vykonavanim funkce eregi v PHP (RH 7.1 cz).
>Nefungoval mi na 'lokale' korektne myphpadmin a testovanim jsem zjistil,
>ze jde o funkce eregi aplikovane na vetsi retezce ( import vetsi nez cca
>200 kilo ).
>Funkce nekolikanasobne zpomali, skoro az zastavi vykonavani celeho
>skriptu. Na windows na stejnem pc mi tato funkce zadne problemy nedela.
>Jde vykonavani funkce eregi nejak urychlit? V PHP.ini mam povoleno
>pouziti 32M pameti (ze standardnich 8M) a nepomohlo to.
>Diky za tipy.


Mám zkušenosti s tím, že funkce pro práci s regulárními výrazy se v PHP s
velikostí zpracovávaných řetězců velmi zpomalují. A nejde vůbec o paměť.
Osobně jsem to vyřešil tak, že se vždycky snažím zpracovávat krátké řetězce.
Pokud to nejde, používám "Céčkovské" funkce typu strpos, apod.., se kterými
je kód delší, ale mnohonásobně rychlejší.

Někdy si pomáhám tak, že třeba řetězec rozsekám na menší, a ty teprve
zpracovávám regulárními výrazy. Sám se divím, jakého zrychlení dosáhnu.

To je holt ten rozdíl mezi teorií a praxí. Beru to jako PHP feature, a
naučil jsem se s tím žít.

S pozdravem

Miloslav Ponkrác



Další informace o konferenci Linux