32-битная Windows на 64-битном оборудовании для 32-битных приложений

339
Jaine

Существует 32-битное приложение и 64-битный ПК (аппаратное обеспечение). Производитель аппаратного обеспечения говорит: для запуска 32-битного приложения на 64-битном ПК 32-битной Win7 достаточно, чтобы получить максимальную производительность для приложения.

Я не согласен, потому что если Windows 64, то она должна быть оптимальной для работы под 64-битным оборудованием, даже если приложение 32.

Мы спорили ..

Поэтому мой вопрос: какая конфигурация приведет к максимальной производительности для 32-битного приложения - «Win32 на 64 ПК» или «Win64 на 64 ПК»?

0
Причиной разработки 64-битной ОС была не производительность. Это было прежде всего для обеспечения гораздо большего виртуального адресного пространства для собственных 64-битных приложений и меньшего увеличения адресного пространства для тех 32-битных приложений, которые могут справиться с этим. Когда 64-битное приложение работает быстрее, это просто бонус. LMiller7 6 лет назад 1
Более того, для проблемы с памятью, поскольку 32-разрядное приложение в 32-разрядной ОС будет иметь максимум 2 ГБ, а в 64-разрядной ОС оно может использовать 4 ГБ. (- накладные расходы) Tetsujin 6 лет назад 0
Спасибо ... я точно понял, что если приложение обрабатывает огромные данные с диска (MS SQL), то в первую очередь следует рассмотреть 64-разрядную ОС + 64 MS SQL, а затем 32-разрядное приложение. Jaine 6 лет назад 0

1 ответ на вопрос

1
DavidPostill

Что приведет к максимальной производительности для 32-битного приложения - «Win32 на 64 ПК» или «Win64 на 64 ПК»?

Ответ - это зависит. Единственный способ выяснить это - выполнить тесты.

Иногда 32-битные приложения работают быстрее, иногда они работают медленнее. Есть много конкурирующих факторов, влияющих на производительность. Обычно разница в обоих направлениях невелика.

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

Вот статья, где автор провел несколько сравнительных тестов:

http://www.osnews.com/story/5768

Он обнаружил, что 32-разрядные двоичные файлы были быстрее в его тестах. Это было на SPARC в начале 2004 года.

Вот статья 2010 года от Intel о переходе на 64-битные приложения:

http://software.intel.com/en-us/articles/moving-from-32-bit-applications-to-64-bit-applications-en/

Согласно этой статье, 64-битные двоичные файлы могут дать вам более быструю математику, поэтому математически сложный код должен быть быстрее, если правильно оптимизирован. В противном случае ваш 64-битный код может быть медленнее, особенно потому, что он занимает больше памяти, и это может привести к увеличению времени, затрачиваемого на доступ к ОЗУ (более частые пропуски кэша).

Источник 32-битные приложения работают быстрее или медленнее в 64-битной ОС? [закрыто], ответ от nate-ck

Правильный. Когда речь идет только о «битности», нет никакой разницы. 64-битные процессоры позволяют выделять больше памяти, что может повысить производительность, если приложению * действительно * нужно больше памяти. Вообще говоря, если приложение не было специально разработано для работы с 64-мя архитектурами и оптимизациями, 64-битная разрядность не дает никаких преимуществ. Keltari 6 лет назад 0
Спасибо ... я точно понял, что если приложение обрабатывает огромные данные с диска (MS SQL), то в первую очередь следует рассмотреть 64-разрядную ОС + 64 MS SQL, а затем 32-разрядное приложение. Jaine 6 лет назад 0