Pergunta

Existem setores específicos de engenheiro de software/ciência da computação onde há uma diferença marcante ao se desenvolver para sistemas de 64 bits? Estou codificando há cerca de 10 anos e, desde o intervalo de sistemas de 64 bits, meu código não mudou nem um pouco.

Quais aplicativos um único codificador pode codificar como um projeto paralelo exige que você use a tecnologia de 64 bits?

Foi útil?

Solução

Qualquer coisa que exija mais de 4 GB de trabalho e memória do programa certamente se qualificaria, pois essa é a quantidade máxima de memória que um sistema de 32 bits pode abordar diretamente.

Como os números de 64 bits podem residir nos registros da CPU, os cálculos que exigem números desses tamanhos veriam uma melhoria de desempenho.

Outras dicas

Além do espaço de endereço ou dos grandes cálculos, dobrar o tamanho da sua palavra ajuda mais no material de baixo nível e, principalmente, para pessoas que farão hackers de kernel ou escrevendo drivers de dispositivos. Por exemplo, digamos que você tenha um fluxo de bytes de uma conexão de rede e precisa processá -los. Agora você pode puxar esses bytes da memória principal para os registros da CPU 8 por vez, em vez de 4. Mas eu acho que você precisa de uma biblioteca de string "64 bits" para aproveitar isso.

Curiosamente, observamos um aumento de desempenho ao atualizar de 32 bits SQL Server para 64 bits SQL Server (2005) no mesmo hardware (uma máquina de 64 bits).

Recentemente, portamos algumas de nossas bibliotecas usadas internamente para 64 bits. O código C não mudou de forma alguma; Tivemos que obter as versões de 64 bits das bibliotecas de terceiros com que vincularam e descobrir quais novas diretrizes do compilador precisávamos usar. A maior dor de cabeça foi encontrar versões de 64 bits de nossas dependências e refatorar nosso sistema de construção para lidar com 32 e 64 bits.

Isso não quer dizer que outro software não exigiria modificação. Por exemplo, se você empacotar seus dados para caber dentro dos limites do Word, agora poderá estar inclinado a embalá-los de maneira diferente ao programar para um sistema de 64 bits.

Se você precisar perguntar, provavelmente não terá vantagem, pois provavelmente não está construindo seu código, nenhuma suposição sobre o tamanho do INTS. Poucos casos de uso, e todos de nível bastante baixo, terão qualquer aceleração. Bignums e aritmética inteira pesada em números muito grandes serão mais rápidos (como criptografia).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top