Re: Benchmarking en distintos lenguajes [ Era algo así como cliente en jabber... ]

Rodrigo Fuentealba darkprox en gmail.com
Vie Nov 16 21:20:12 CLST 2007


El 16/11/07, Alejandro Weinstein <alejandro.weinstein en gmail.com> escribió:
> On Nov 16, 2007 1:16 PM, Franco Catrin L. <fcatrin en tuxpan.com> wrote:
> >
> > El segundo link casi me deja ciego ;)
>
> Perdon. Me olvide de advertir que habia que ponerse lentes oscuros.
>
> [sobre la diferencia entre maquina virtual e interprete]
>
> Aun no me queda del todo clara la diferencia. Por ejemplo, hay alguna
> diferencia de fondo entre un interprete Python ejecutando un archivo
> .pyc o .pyo (no un .py) y una maquina virtual java ejecutando
> bytecodes?

Diferencia de fondo no hay mucha. Según [1], inclusive hay similitudes
con Java y .NET:

1.- Se compila a bytecode que es compatible entre arquitecturas (yo
tomo un .pyc en Windows y lo paso a Linux y funciona).

2.- Se hacen algunas optimizaciones pequeñas al código Python.

3.- De 1.- se puede inferir que no es necesario que Python como
intérprete deba destripar cadenas y revisar sintaxis, lo cual también
es una optimización a la hora de interpretar y cargar el archivo.

Ahora, una diferencia sustancial debe ser la manera en que Java y
Python reservan la cantidad de memoria necesaria para su ejecución,
pero eso ya es hilar demasiado fino y... es viernes.

[1] http://www.network-theory.co.uk/docs/pytut/CompiledPythonfiles.html

-- 
Rodrigo Fuentealba



Más información sobre la lista de distribución Linux