On Thursday 22 November 2007 10:02:55 Manuel Naranjo wrote:
> Hector,
>
> > El tema es que no es dificil portar las aplicaciones a 64
> > bits y entonces simplemente se hacen compatibles los codigos y no se
> > reescribe demasiado,
>
> Cuak! Esto esta mal. No es tan sencillo portar de 32 a 64. O séa debería
> serlo. Debería no ser más que recompilar. Pero hay muchos programadores
> malos (y creo que más de uno caímos en esta categoría alguna vez) que
> por ejemplo en vez de hacer "sizeof char" ponen directamente 16 que es
> el tamaño de un carácter para una determinada arquitectura. O que en vez
> de trabajar con las macros del kernel y de la libc que son
> independientes de la plataforma, hacen trabajo a nivel de bits que anda
> bien en esa arquitectura pero posiblemente no en otra. Ni hablar los
> mocos que te podes mandar si no tenes cuidado cuando usas los punteros.

No fue mi idea ponerme tecnico ni hablar con demasiada propiedad para no perder 
el punto. No estamos aqui discutiendo sobre desarrollo de soft, solo quise 
mostrar porque no parece haber diferencia entre el rendimiento de un procesador 
de 32 bits contra uno de 64 en la practica.

Ahora, lo que comentas es cierto, pero aun asi cuando uno se refiere a que "no 
es dificil portar" esta hablando de un trabajo total de escritura, del cambio 
de algoritmos y demas. Las aplicaciones que un usuario final (promedio) utiliza 
son facilmente portadas a 64 bits, y se puede ver claramente, yo aun no 
encontrado una aplicacion (salvo opera , y openoffice) que no ande en 64 bits.

>
> Así que a no confundir. Es fácil portar una aplicación cuando sólo es
> cuestión de compilarla ya que esta bien hecha. Sino es un parto, tenés
> que meterte a releer todo el código de nuevo por las dudas, y no
> confiarte de los errores del gcc. Ya que si son errores como lo del
> sizeof posibliemente tu compilador no los detecte.
>

Ahora no quiero caer sobre la ambiguedad de la palabra "facil", pero seamos 
realistas, aun teniendo que reescribir y tener en cuenta lo que planteas, aun 
teniendo que reescribir algunos cientos de algoritmos basados en operaciones de 
bits, pelearse con librerias, etc etc, eso no lo convierte en un "gran trabajo 
de portacion", como podria ser portar una aplicacion de i686 a mips, alpha o 
arm.
Si tu aplicacion desarrolada en 32 bits,  con solo compilarla puedes utilizarla 
en 64 bits, entonces ni siquiera existe el "port", no has hecho nada. Es cierto 
que uno se refiere a auna aplicacion como portable si funciona en distintas 
arquitecturas/sistemas operativos/..., pero como yo he utilizado la palabra, 
creo que se entiende que me refiero al hecho de "hacer andar" una aplicacion de 
32 bits en 64 mediante la rescritura, adaptacion, o como quieras llamarlo. 

> Espero este mail sirva para aclarar un cacho las cosas, y dejarnos bien
> parados de vez en cuando a aquellos que tratamos de no programar para
> una arquitectura en particular ;).
>
> Saludos,
> Manuel
Si ha servido, para todos.

Ahora, un ultimo punto. 
Si alguna vez has utilizado alguna libreria matematica (ie GMP) o has utlizado 
alguna aplicacion que la utilize o bien que sus librerias utilizen aritmetica 
(ie GAP, pari, ... ), vas a notar diferencia entre una arquitectura de 32 bits 
y una de 64, asi como se nota una diferencia importante en Mathematica, maple, 
etc. Estas aplicaciones HACEN uso de 64 bits, Y ES BUENO que lo hagan, ya que 
la diferencia es notable.

-- 
H^n(L,G)

Responder a