Pregunta

¿Hay algún sectores específicos de Software Engineer / Ciencias de la Computación, donde hay una marcada diferencia en el desarrollo de sistemas de 64 bits? He estado codifican para unos 10 años, y desde la ruptura de los sistemas de 64 bits, el código no ha cambiado un poco.

¿Qué aplicaciones que un solo codificador puede codificar como un proyecto paralelo que requieren el uso de la tecnología de 64 bits?

¿Fue útil?

Solución

Cualquier cosa que requiera más de 4 GB de memoria de programa de trabajo y ciertamente califica, ya que es la cantidad máxima de memoria que un sistema de 32 bits puede direccionar directamente.

Desde 64 números de bits pueden residir en los registros de la CPU, los cálculos que requieren cantidades de estos tamaños vería una mejora del rendimiento.

Otros consejos

Además de espacio de direcciones o de grandes cálculos, doblando su tamaño de palabra ayuda más en la materia bajo nivel, y sobre todo para las personas que van a estar haciendo kernel piratería o escribir controladores de dispositivos. Por ejemplo, digamos que usted tiene un flujo de bytes de una conexión de red y hay que procesarlos. Ahora puede tirar de los bytes en la memoria principal a registros de la CPU 8 a la vez en lugar de 4. Pero yo creo que necesita una biblioteca de cadena "64 bits conscientes" para tomar ventaja de esto.

Como anécdota, sí observamos un aumento de rendimiento al actualizar de 32 bits de SQL Server de 64 bits de SQL Server (2005) en el mismo hardware (una máquina de 64 bits).

Recientemente hemos portado algunas de nuestras bibliotecas de uso interno a 64 bits. El código C no cambió en absoluto; que sólo tenía que conseguir las versiones de 64 bits de las bibliotecas de terceros que enlace en contra y averiguar qué nuevas directivas del compilador que necesitábamos para usar. El mayor dolor de cabeza fue encontrar las versiones de 64 bits de nuestras dependencias y refactorización nuestro sistema de construcción para manejar tanto de 32 bits y de 64 bits.

Eso no quiere decir que otro software no requeriría modificación. Por ejemplo, si usted embala sus datos para caber dentro de los límites de palabras, es posible que ahora estar inclinado a empacar de manera diferente cuando se programa para un sistema de 64 bits.

Si es necesario preguntarse, es probable que no obtener ninguna ventaja, ya que es probable que no la construcción en su código ninguna hipótesis sobre el tamaño de enteros. Más bien pocos casos de uso, y todos bastante bajo nivel, verán ninguna aceleración. Bignums y aritmética de enteros pesado en números muy grandes serán más rápidas (como crypto).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top