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

Xavier Andrade xavier en tddft.org
Lun Dic 3 10:59:43 CLST 2007


On Sun, 2 Dec 2007, Aldrin Gonzalo Martoq Ahumada wrote:

>
> Discrepo. Lo que se llama "maquina" es la definicion de una
> arquitectura y su set de instrucciones. Cuando se habla de "maquina
> virtual", se quiere decir que ese set de instrucciones no es el mismo
> que el implementado en hardware; por lo tanto si quieres ejecutar ese
> set de instrucciones requeriras de un paso de traduccion.
>
> Un interprete es un programa que realiza la traduccion desde un set de
> instrucciones o lenguaje y las ejecuta, de manera que puedas correr el
> codigo en tu maquina "real". La distincion importante es que el paso
> de traduccion se hace en tiempo de ejecucion; es decir, cada vez que
> corras el programa tendras el costo adicional de traduccion lo que
> puede traer problemas de performance o uso de recursos (memoria por
> ej). Por eso la *implementacion* de la maquina virtual de java es un
> interprete.
>

El problema es que no es tan claro hacer la distincion, de acuerdo a tu
definicion, x86(_64) es una maquina virtual, ya los procesadores modernos
implementan un set de instrucciones a la RISC internamente y en el momento
de ejecucion se traducen las instrucciones x86 a instrucciones nativas,
algunas directamente y otras por microcodigo.

Saludos,

Xavoer


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