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)
