Как развиваться, чтобы использовать преимущества 64-битных систем? - PullRequest
7 голосов
/ 07 августа 2009

Существуют ли какие-либо специфические сектора инженеров-программистов / компьютерных наук, в которых есть заметная разница при разработке для 64-битных систем? Я кодирую уже около 10 лет, и после разрыва 64-битных систем мой код не изменился ни на секунду.

Какие приложения, которые один кодер может кодировать как побочный проект, требуют использования 64-битной технологии?

Ответы [ 4 ]

7 голосов
/ 07 августа 2009

Все, что требует более 4 ГБ рабочей и программной памяти, безусловно подойдет, поскольку это максимальный объем памяти, к которому 32-разрядная система может обращаться напрямую.

Поскольку 64-разрядные числа могут находиться в регистрах ЦП, вычисления, для которых требуются числа этих размеров, повысят производительность.

2 голосов
/ 07 августа 2009

Помимо адресного пространства или больших вычислений, удвоение размера вашего слова помогает больше в низкоуровневых вещах, и в основном для людей, которые собираются заниматься взломом ядра или написанием драйверов устройств. Например, предположим, у вас есть поток байтов из сетевого подключения, и вы должны их обработать. Теперь вы можете извлекать эти байты из основной памяти в регистры ЦП 8 за раз, а не 4. Но я думаю, что вам нужна строковая библиотека "64-битная поддержка", чтобы воспользоваться этим.

Неожиданно мы наблюдали повышение производительности при обновлении с 32-разрядного SQL Server до 64-разрядного SQL Server (2005) на том же оборудовании (64-разрядном компьютере).

2 голосов
/ 07 августа 2009

Мы недавно портировали некоторые из наших внутренних библиотек на 64-битные. Код C не изменился вообще; нам просто нужно было получить 64-битные версии сторонних библиотек, с которыми мы связываемся, и выяснить, какие директивы компилятора нам нужно было использовать. Самой большой головной болью было нахождение 64-битных версий наших зависимостей и рефакторинг нашей системы сборки для обработки как 32-битных, так и 64-битных.

Это не значит, что другое программное обеспечение не требует модификации. Например, если вы упакуете свои данные так, чтобы они соответствовали границам слов, вы теперь можете склоняться упаковать их по-разному при программировании для 64-битной системы.

0 голосов
/ 14 апреля 2010

Если вам нужно спросить, вы, вероятно, не получите никаких преимуществ, поскольку вы, вероятно, не встраиваете в свой код какие-либо предположения о размере целых чисел. Довольно мало вариантов использования, и все довольно низкоуровневые, увидят любое ускорение. Bignums и целочисленная арифметика с большими числами будут быстрее (например, крипто).

...