Подтвердить что ты не робот

64-битные преимущества производительности

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

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

Приветствуются ответы, связанные с обоим, неуправляемым и управляемым кодом.

4b9b3361

Ответ 1

Чтобы использовать 64-битную архитектуру новейшего процессора, вам необходимо:

  • используйте 64-битный ЦП и ОС
  • разрабатывается специально для 64 бит с использованием 64-битного api - реализация должна пройти весь путь до самого базового кода, работающего с регистрами CPU (обычно написанными на ассемблере), чтобы воспользоваться дополнительными регистрами.
  • создайте приложение, которое действительно выиграет от дополнительных регистров. WinRAR - это приложение, которое будет в полной мере использовать дополнительные регистры, потому что оно включает в себя множество исчислений со сложными алгоритмами. Если вы вместо этого напишите приложение с очень простыми алгоритмами, для него не потребуется дополнительное адресное пространство регистра, и он не будет работать быстрее на 64-битной
  • также учитывайте, что, когда вы используете регистр ЦП, даже если вы не используете полное адресное пространство для значения, оно все равно займет столько места (= 64 бит). Поэтому, написав небольшое приложение в 64-битный, нацеленный на получение оптимизированного кода, просто не сработает. Это приложение займет в два раза больше ОЗУ, чем если бы оно было разработано под 32 бит, и оно может быть еще медленнее. Программирование в 64 бит имеет смысл для приложений с использованием тяжелых алгоритмов или для выделения огромных фрагментов памяти (4Gb - это ограничение для 32-битного приложения).

Ответ 2

Архитектура x64 удваивает количество регистров общего назначения, доступных в архитектуре x86, поэтому компиляторы могут хранить больше данных (очень быстрых) регистров CPU, а не в относительно медленном ОЗУ.

Ответ 3

Когда они перестали лежать в рекламе? Я что-то пропустил?; -)

Основным преимуществом производительности является то, что в 64-битных системах вы можете выделить более 4 ГБ оперативной памяти (фактически на большинстве систем с более чем 2 ГБ) без обмена. Это огромное преимущество в скорости, если вам это нужно.

Таким образом, 64-разрядный дает преимущество, если у вас есть приложения, которым требуется много оперативной памяти (обработка изображений/видео/аудио, моделирование мира/юниверса).

Кроме того, на 64-битных ЦП также есть команды, которые работают с 64-битными типами данных (поэтому вам не нужно эмулировать те, у которых есть 32-разрядные типы). Это также преимущество, но оно а) не так велико, потому что вам нужно использовать эти типы алгоритмов, и большинство из них не б) они все еще медленнее, чем 32-битные (но быстрее эмуляции).

Чтобы дать вам представление, вот старая шутка от суперкомпьютера: "Требуется один день для загрузки данных с дисков, тогда для обработки данных требуется пять минут, а затем нам нужен еще один день, чтобы сохранить результат на диск". Чтение данных из ОЗУ составляет от 1000 до 1000000 раз быстрее, чем доступ к диску.

Таким образом, в целом для среднего пользователя 64-битная система имеет мало преимуществ.

Ответ 4

Мое понимание заключается в том, что в большинстве случаев прироста производительности не существует, кроме возможности использовать больше памяти. (Хотя это может дать более высокую производительность, если вы работаете с 64-битными типами данных, например).

Ответ 5

Здесь есть отличные ответы.

Как было сказано, вы можете получить доступ к неограниченной ОЗУ, что будет способствовать производительности, если вам это нужно.

Я бы смиренно добавил, что если вам это не нужно, но использовать его в любом случае, это повредит производительности.

Никогда не теряйте из виду один из самых старых законов науки:

Природа игнорирует вакуум