Python vs C, interpretado vs compilado, etc.

Jesus Cea jcea en jcea.es
Jue Ene 22 16:41:16 CET 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Francesc Alted wrote:
> Conviene advertir que Psyco sólo funciona para plataformas i386 de 
> 32-bits, y que ya empiezan a haber demasiados procesadores/plataformas 
> de 64-bits como para ignorar este hecho.

Las primeras versiones de psyco compilaban a un bytecode simplificado,
que era luego emulado en una cpu virtual (escrita en C). La mejora de
rendimiento respecto a python nativo era bastante gorda, y yo lo usaba
sobre procesadores Sparc, Alpha y PowerPC. Vamos, de todo menos x86.

La versión final eliminó la máquina virtual, compilando directamente a
ensamblador de x86. Escribí al autor pidiéndole que mantuviese ambas
opciones (compilación nativa si dispones del módulo apropiado, y
pseudoCPU si no es así), pero se negó. Eché un vistazo al código para
hacerlo yo mismo, pero la generación del ensamblador estaba tan mezclada
y tan repartida por todo el código, que prácticamente tendría que
reescribirlo entero.

No sé si las versiones modernas serán más modulares. Ojala.

Además, el autor me dijo que psyco estaba abandonado, y que concentraba
todos sus esfuerzos en pypy. De eso debe hacer como poco 5 años,
probablemente bastante más. Lástima. El resultado es que psyco sigue
vivo, pero su evolución es muy lenta y sólo funciona sobre x86-32

Llevo siguiendo el proyecto PYPY desde entonces. La idea es prometedora,
pero lo veo muy parado desde que se terminó la financiación europea.

- --
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea en jcea.es - http://www.jcea.es/     _/_/    _/_/  _/_/    _/_/  _/_/
jabber / xmpp:jcea en jabber.org         _/_/    _/_/          _/_/_/_/_/
.                              _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQCVAwUBSXiTlZlgi5GaxT1NAQJyNQP8CWHrdpj/1A99oIF+FulUlnD1jBiwpZCm
OsPEq5qq08dN4i5E26mlMjX4yOSUTuAtkgm8aIw5NL6mdYc85lxv1stkAtnyzXJE
MiViEjO006og8Eb4YpWT5a4OIFwm7dbqlebaNDXlcXYTiEiFGbuQARfMg5KYbvWG
YHmP0Zyk8m8=
=ItWt
-----END PGP SIGNATURE-----
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


Más información sobre la lista de distribución Python-es