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

Franco Catrin L. fcatrin en tuxpan.com
Vie Nov 16 17:16:40 CLST 2007


Alejandro Weinstein escribió:
> On Nov 16, 2007 10:23 AM, Franco Catrin L. <fcatrin en tuxpan.com> wrote:
>   
>> Segun entiendo esos no son compilados reales, runcobol es un interprete,
>> no una maquina virtual.
>>     
>
> Cual es la diferencia entre un interprete y una maquina virtual? En
> google no pude encontrar una respuesta clara. Encontre por ejemplo:
>
> "The Java virtual machine is another term for the Java interpreter" en
> http://safari.oreilly.com/1565924185/ch01-18331
>
> "Cuando Java es compilado y pasado a código de bytes, un interprete
> llamado maquina virtual" en
> http://arechiga.50megs.com/tpoo2/javah1.html
>   

El segundo link casi me deja ciego ;)

Aqui hay una buena definicion:

Interpreter (computing)
http://en.wikipedia.org/wiki/Interpreter_(computing)

Voy a traducir un trozo referente a Java y .NET:

JIT se refiere a la técnica donde el bytecode se compila a codigo de 
maquina nativo en tiempo de ejecución, obteniendo la alta velocidad de 
ejecución del codigo nativo con el costo de incrementar el tiempo de 
partida cuando se compila el bytecode.  Ha ganado atencion en los 
últimos años, y queda aun más difusa la distinción entre interpretes, 
interpretes de byte code y compiladores. JIT esta disponible para las 
plataformas .NET y Java.  La técnica de usar JIT tiene un par de décadas 
de antiguedad, apareciendo en lenguajes como Smalltalk en los 80.


Java bytecode: Understanding bytecode makes you a better programmer
http://www.ibm.com/developerworks/ibm/library/it-haggar_bytecode/


Y para ver en mas detalle:

A first look at the bytecodes of the Java virtual machine
http://www.javaworld.com/javaworld/jw-09-1996/jw-09-bytecodes.html

Java Bytecode Assembler Examples
http://www.cs.rpi.edu/~moorthy/Courses/compiler99/Assembler/examples.html

--
Franco



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