[Java lista] Pattern.compile bug (jdk 1.5)

Marai Laszlo lists at atleta.hu
2008. Már. 4., K, 18:13:36 CET


On Tue, 4 Mar 2008 11:57:08 +0100
"Andras Dobrosi" <andris at freemail.hu> wrote:

  Hali!

> Nezopont kerdese. Nem mintha en nem hasznalnek neha regexpet, de ugy
> vagyok vele, ha nem gep kritikus a dolog, akkor inkabb megirom en. Nem
> vagyok a regexp nagy baratja, inkabb validalok csak vele es kesz.

Nezopont kerdese. En ilyen esetben egyertelmuen jobban szeretem a
deklarativ leirast. Sokkal kifejzobb, mint proceduralisan 5 sorban
leirni, hogy hogy is nez ki az adott adattipus string reprezentacioja.

> Nem lehet, hogy az 1.6-os azert gyorsabb, mert kiszerveztek nativba
> ezt a regexpesdit? Akinek van kedve bujjon bele a forrasba :), mert
> kicsit engem is erdekel az alapproblema.

Nem. Egy O(2^n) futasideju algortimsut hiaba irsz at nativba. Ilyet meg a
"java az szer mer lassu" sracok sem mondanak:), meg aztan lattam is egy
szep exceptiont az 1.6-tol, amikor igazan hosszu regexppel teszteltem, es
nem volt benne nativ resz. egyszeruen egy jobb algoritmust hasznaltak. En
annyit tudtam kibogaraszni a weben, hogy a perl szintaxisu (a java
is ilyet hasznal) regexpek forditasa O(n^2) vagy O(nlogn) ideju. Ehhez
kepest az 1.6-os gyanusan gyors, az 1.5 meg erthetetlenul lassu :)

Kivancsisagbol majd megnezem, hogy a python mit szol a dologhoz (ott
egyebkent tutira nativban irtak meg).

  atleta


További információk a(z) Javalist levelezőlistáról