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

Leonardo Soto M. leonardosoto en tutopia.com
Mie Dic 5 21:51:56 CLST 2007


On Dec 5, 2007 5:54 PM, Horst H. von Brand <vonbrand en inf.utfsm.cl> wrote:
> Aldrin Gonzalo Martoq Ahumada <amartoq en dcc.uchile.cl> wrote:

[...]

> > Dicho de otra forma, si pudieramos compilar (traducir "offline")
> > directamente en el codigo "nativo" del procesador, nos ahorrariamos
> > varios ciclos de cpu (y tal vez transistores si dejamos esa pega
> > exclusivamente al ambiente); que se  gastan en el interprete (traducir
> > "online").
>
> Nopes. El procesador es /mucho/ mas rapido que la memoria hoy dia (por algo
> el cuento de hyperthreading, dual-core, procesadores celulares, ...). En
> parte por esa razon guatearon los RISC, y las arquitecturas nuevas son
> CISC: Claro, procesar instrucciones simples es mas rapido, pero el codigo
> es muchisimo menos denso (todas las instrucciones son "grandes", para hacer
> alguna operacion un poquitin mas compleja es media docena de instrucciones;
> lo mismo en CISC puede ser una sola, incluso de un solo byte); con el
> resultado que lo que se gana en el procesador se pierde con creces en mover
> instrucciones desde la memoria.

Aún así, el decoding de una instrucción en x86 (y x86-64) es caro. Por
esto en los últimos procesadores de esta arquitectura se está
almacenando en la caché de instrucciones el "microcode" en lugar de
las instrucciones originales.

-- 
Leo Soto M.
http://blog.leosoto.com



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