Hoy participé en una interesante discusión. Alguien ha dicho que es genial que Apple va con su iPhone 5 de 64 bits. Por supuesto he mencionado sobre la no necesidad de 64bits con 2 gigas de RAM, pero entonces comencé a preguntarme - ¿hay algo bueno con 64 bits en este caso, excepto los beneficios de la compatibilidad del"futuro"? ¿Instrucciones más grandes? ¿Cualquier tipo de optimización?
Respuesta
¿Demasiados anuncios?Desde que el iPhone no utilizar un procesador x86, casi todo lo que usted sabe acerca de 64-bit, frente a 32 bits no se aplican. Por ejemplo, en procesadores x86, más de propósito general de los registros están disponibles en el modo de 64 bits. Esto proporciona una mejora en el rendimiento en el modo de 64 bits. Que no se aplican a los no-procesadores x86.
Funcionamiento de 64 bits tiende a proporcionar beneficios para el software que se encarga de "datos masivos". En general, esto incluye cosas como el cifrado, compresión y procesamiento de imágenes. Otros tipos de programación no beneficiar significativamente debido a que rara vez lidiar con los valores que ocupan más de 32-bits. También, más ancho de banda de memoria es requerido por el código de 64 bits debido a que todos los punteros son el doble de grandes y esto puede causar alguna pérdida de rendimiento.
Sin embargo, hay una gran ventaja de la versión de 64 bits de código en código de 32 bits -- memoria virtual no necesita ser tratada como un recurso escaso. Esto puede tener todo tipo de beneficios tanto para el rendimiento, la facilidad de desarrollo, fiabilidad, mantenibilidad, y así sucesivamente. Por ejemplo, si usted es la manipulación de un gran archivo de base de datos, puedes mapa de memoria todo el archivo y acceder a él como a una matriz. Esto puede eliminar una gran cantidad de lento, complejo y propenso a errores de código en la memoria del mapa de las secciones del archivo o de la alternativa busca con los datos de las operaciones.
Del mismo modo, las bibliotecas se han fijado las direcciones virtuales. Esto puede mejorar el uso compartido de código y el resultado en la memoria que se usa de manera más eficaz. Se puede minimizar la reubicación, lo cual puede resultar en un código más rápido de inicio.
Para ser honesto, usted tendría que saber mucho acerca de los elementos internos de la forma en que el dispositivo opera, tanto en software y en hardware, útil para opinar sobre si un cambio desde una plataforma de 32 bits a una de 64 bits de la plataforma ofrecerá importantes beneficios.