Re: [python] V jakém jazyce je napsán modul re
Jan Kundrát wrote: Jan Martinek wrote: Jak to tedy vlastně je? Podivej se na importy v jednotlivych modulech (a dale pokracuj rekurzivne). Posleze dojdes az k modulu _sre a ejhle: import _sre _sre module '_sre' (built-in) Hezky vecer, -jkt Ahá! No jasně, máš pravdu. Já jsem si chtěl ušetřit práci a myslel jsem si, že to přechytračím. Pustil jsem python, natáhl modul re a vzápětí pustil find /usr/lib64/python2.4/ -amin -1 abych se podíval, který modul se otvíral méně než před minutou. No a jaksi mi nedošlo, že to může být built-in ;-) No a když jsem viděl _tolik_ pythonovského kódu v sre*, tak jsem se vyděsil, že je v tom napsaný celý modul. Díky. Jan Martinek ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
[python] V jakém jazyce je napsán modul re
Zdravím, zajímalo by mě, jestli je modul pro regulární výrazy re napsán v Céčku nebo v Pythonu. Většinou je možné se dočíst, že je napsaný v C, nicméně nejsem schopen najít odpovídající knihovnu. Asi se špatně dívám, ale re.py, sre.py, sre_compile.py, sre_constants.py a sre_parse.py jsou čistě v pythonu a nic binárního nenatahují. Svou rychlostí (při jednoduché substituci) několikanásobně zaostává například za Perlem, což by tomu odpovídalo. Naproti tomu, zastaralý a zavrhovaný (obsolete, deprecated) modul regex je nejspíš určitě psaný v C a zkompilovaný (na mém počítači) do /usr/lib64/python2.4/lib-dynload/regex.so a je výrazně rychlejší než novější modul re. Jak to tedy vlastně je? Jan Martinek ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] V jakém jazyce je napsán modul re
Svou rychlostí (při jednoduché substituci) několikanásobně zaostává například za Perlem, což by tomu odpovídalo. Kdysi jsem porovnával rychlost pythonového hledání v řetezci pomocí string.find a kompilovaného regulárního výrazu a výsledek byl zhruba stejný. Tipnul bych si, že ve tvých testech jsi v pythonu nepoužíval kompilovaný regulární výraz (kompiloval se při každém volání). Tím, že v Perlu jsou regulární výrazy součástí jazyka, tak má interpretr možnost je zkompilovat před spuštěním programu. Jan Matějka ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python