Hola!, les cuento cual es el problema...Necesito procesar un archivo xml de 500 MB en python, leyendo en la web encontre que libxml2 era apto para cosas grandes. Pero no es asi... ya que en una maquina con 2 G no lo puede procesar, y en un cluster demora 6 horas, necesito urgente si alguien conoce que puedo usar para que no ocupe tanta memoria y para que termine rapido. Gracias!
El problema es que Python es un poco lento (mas lento que Perl, ya que Python no precompila el codigo como Perl lo hace) y todos los scripts en jeneral... en resumen, lo mejor seria usar C/C++
Obviamente la respuesta de Edo no es valida, ya que hacer un parser de XML es un trabajo largo y dificil, y es aun mas dificil cuando tienes que leer bloques de bytes para formar los arboles.
PD2: Edo, la memoria leida no deberia ser de 512, es muy poquito... deberia ser, al menos, 2Kb
Cita de: "su -"El problema es que Python es un poco lento (mas lento que Perl, ya que Python no precompila el codigo como Perl lo hace) y todos los scripts en jeneral... en resumen, lo mejor seria usar C/C++En esta pagina[1] tenes informacion sobre el tema de la compilacion de los modulos de python.Si el problema es la performance se puede extender python utilizando C[2], solo para tener otra opcion.Esta otra[3] tiene un benchmark sobre ambos lenguajes.Saludosnrm[1] - http://docs.python.org/tut/node8.html#S ... 0000000000[2] - http://www.python.org/doc/ext/intro.html[3] - http://shootout.alioth.debian.org/gp4/python.php
Yo solo decía, la vaina es que lo dijé por que lo probé con un archivo de 700MB con el que tenía que trabajar y me funciono así, por eso hicé el ejemplo, no era XML era un simple archivo de texto; que bueno es aprender cosas nuevas