Windows XP vs Ubuntu7.10

Xavier Andrade andrade en theory.polytechnique.fr
Jue Dic 20 17:24:25 CLST 2007


On Thu, 20 Dec 2007, Rodrigo Fuentealba wrote:
>>
>> El resultado no tiene ninguna validez para comparar el rendimiento de una
>> aplicacion de calculo en los dos sistemas operativos, por que en este
>> caso, segun recuerdo, los binarios son distintos y fueron generados por
>> distintos compiladores.
>
> ¿Y cómo lo harías para comparar?
>
> Usar el mismo compilador en ambas plataformas tampoco tiene validez,
> pues los manejos son distintos; creo que utilizando los compiladores
> adecuados nos dará un indicio del rendimiento.

Por que no tiene validez? El codigo de maquina no depende del sistema 
operativo, solo cambia la manera en que se pasan los argumentos, las 
llamadas a sistema y a bibliotecas.

Pero el codigo numerico, que principalmente usa instrucciones de la cpu, 
es el mismo, y no creo que las empresas que hacen compildores para varios 
sistemas operativos reimplementen el optimizador para cada uno, al menos 
en gcc no lo hacen.

> el problema en sí no es de Linux, sino de Microsoft Windows, que recién 
> tiene multitarea real en XP (algo que en *IX teníamos hace tiempo), y 
> que se ve afectada por el DRM y esos modos de monitoreo medio imbéciles 
> que le aplicaron al Vista.
>

Por el contrario, un esquema mas avanzado de multitasking probablemente 
hace que el rendimiento de un solo proceso ejecutandose disminuya, las 
ventajas vienen por otro lado.

Me parece que el sistema operativo no influye demasiado en el rendimiento 
de un programa dominado por el calculo, probablemente el unico punto donde 
podria influir el sistema es a nivel de manejo de la memoria.

> En términos de arquitecturas de sistemas operativos (y de software, en
> cierta manera), el permitir al kernel ejecutar operaciones básicas de
> procesos (crear, eliminar, asignar memoria, quitar memoria, informar
> de fallos hacia otros procesos etc etc etc, por mencionar algunos),
> deben ser de bajo nivel, mientras que el permitirle "auditar" cada
> proceso, "validar" cada acción y simplemente "si es un niño el que usa
> el PC no permitirle ejecutar un programa específico pues contiene
> violencia" son estupideces mal implementadas a bajo nivel en Windows
> Vista, que deberían ser implementadas a través de permisos como en
> Linux; mal que mal, es eficiente.

Tienes alguna referencia al respecto? Los permisos de acceso a memoria se 
manejan normalmente a nivel de hardware y el resto de las acciones que 
mencionas me parece que no son lo suficientemente frecuentes para influir 
en el rendimiento.

> Son esas las cosas que deberíamos
> medir, no el "cuánto se demora", pues el poder de procesamiento de las
> máquinas actualmente hace que un "hola mundo" o que un
> "for(i=1;i<14000000;i++)" sean totalmente despreciables.

Hay muchas cosas para las que los computadores actuales son demasiado 
lentos, sino por que crees que se hacen supercomputadores de decenas de 
miles de procesadores?

Saludos,

Xavier


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