Потеря производительности 32-битной ОС на 64-битном процессоре

3

Я недавно переустановил свой ноутбук, и мой друг смеялся надо мной, потому что я не установил 64-битную версию Vista вместо 32-битной.

После чего я задавался вопросом, была ли большая разница в производительности с 64 ОС.

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

Так кто же может это прояснить для меня? :)

шарлатан
источник
3
Вам нужны друзья с лучшим чувством юмора.
Скаффман

Ответы:

1

Если вы не выполняете сложные вычислительные задачи, вы не заметите разницы между 32-битной и 64-битной версиями вашей ОС. Я использую 64-разрядную версию Windows 7 Home Premium, и у меня еще не было проблем с загрузкой. Windows отлично справляется с запуском 32-битного программного обеспечения.

Несколько лет назад, когда вышла 64-битная версия Windows XP, было много проблем с программным обеспечением / драйверами, работающими неправильно. Однако с тех пор был достигнут большой прогресс.

Родэ
источник
1

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

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

Марк Рэнсом
источник
1

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

Тедди
источник
Кому-нибудь действительно нужно mmap> 4GB одновременно? Любой большой файл может отображаться по частям в 32-битной программе с помощью системного вызова mmap64 (3). Так что действительно нет необходимости расширять все ваши указатели ДВАЖДЫ для создания очень больших файлов. ОС может быть 64-битной при одновременном запуске большого количества 32-битных программ.
osgx
@osgs Научные приложения, некоторые языковые переводчики и все остальные, которые могли бы извлечь выгоду из чрезмерной загрузки памяти.
minmaxavg
1

Важный:

Я знаю, что этот вопрос старый, но ответ требует обновления. Краткий ответ - использовать AMD64 (x86_64 или 64bit) .

Более длинный ответ (исправление некоторых заблуждений в других ответах): Все здесь отметили преимущество 62-битных систем в том, что они могут использовать более 4 ГБ ОЗУ. Поскольку PAE ( https://en.wikipedia.org/wiki/PAE ) была введена в большинстве ядер, 32-битная система может нормально обрабатывать больше оперативной памяти. Я также советую всем, кто спотыкается в этом вопросе, что 32-битная версия x86 также не "поддерживается" в наши дни (аля 2015+). Существует много программного обеспечения, написанного только для AMD64. Я думаю, что Ubuntu отбросил 32-битный последний LTS, и Debian является одним из немногих, кто все еще поддерживает его (потому что Debian поддерживает даже мертвые / умирающие платформы - что такое 32-битный x86). Кроме того, учтите, что почти каждая ОС является многоархитивной (обе lib и lib32), поэтому 32-битное программное обеспечение работает нормально без существенного снижения производительности. 64-битное программное обеспечение не можетработать в 32-битной системе, но 32-битное программное обеспечение может работать в 64-битной системе (при условии, что разработчики не похожи на команду PCSX2, которая ожидает, что разработчики пакетов создадут свой собственный 64-битный форк или смирятся с тем, что он будет только 32-битным / rant). В любом случае, хорошо это или плохо, но это соображение.

Возьми домой: ситуация сейчас обратная. 64-битная x86 де-факто теперь и 32- битная станет устаревшей. Хотя PAE позволяет 32-разрядным компьютерам использовать больше 4 ГБ ОЗУ, рекомендуется использовать 64- разрядную операционную систему AMD64 (x86_64, 64- разрядная ), потому что 32-разрядные компоненты будут работать нормально, а также 64-разрядные.

JustAnAnonUser_1324987
источник
1

Я согласен с JustAnAnonUser_13249, что ответ старый, но ни один из ответов не покрывает его достаточно.

Согласно названию performance loss of a 32bit OS on a 64bit processor:

  • Предполагая установку Windows (совсем другие ответы для других ОС)
  • И установка AMD 64. (это то, что Intel использует. Intel 64bit раньше был Itanium)


Во-первых, 32-разрядная версия Vista будет работать на 32-разрядном процессоре так же быстро, как и на 64-разрядном (в 32-разрядном режиме). Здесь нет потери производительности.


Вероятно, ваш друг попытался сказать: «Почему бы не использовать Windows Vista 64 бит и не использовать преимущества 64 бит процессора в вашем ноутбуке?».

В таком случае:

  1. Водители в 2009 году, вероятно, были менее стабильны на платформе Windows. Это больше не так. (на самом деле, я подозреваю, что это не наоборот)
  2. Объем памяти в ОС и программах увеличивается. Показатели попадания в кэш уменьшаются. Это замедляет работу 64 бит.
  3. AMD 64 имеет много улучшений по сравнению со старой 32-битной установкой. Например, удвоить количество регистров. Это делает это быстрее.

На практике эти два последних пункта взаимно компенсируют друг друга.


Хотя есть причины НЕ использовать древнюю 32-битную ОС, примеры:

  1. Адресное пространство ограничено 4 ГБ. Это 4 ГБ минус зарезервированное адресное пространство для карт PCI. (Таким образом, в системе с оперативной памятью 4 ГБ и графической картой объемом 1 ГБ может быть использовано менее 3 ГБ.

  2. Программы для Windows ограничены 2 ГБ макс. Используя PEA, вы можете адресовать больше памяти, но вы по-прежнему ограничены 2 ГБ на программу. (Прочтите: Вы можете открыть несколько программ 2 ГБ. Например, три программы 2 ГБ. Но не одну программу 5 ГБ)

  3. Драйверы: почти никто не использует 32-битные системы больше. Может быть трудно найти 32-битный драйвер вместо обычного (что сильно отличается от 2009 года, когда был опубликован вопрос).

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

Ошибка пользователя 64-битный браузер, 64-битный плагин, 64-битный Java и т. Д. Все работает нормально.

Попытка использовать 64-разрядный браузер и 32-разрядную версию Java или наоборот - все это весело.

Так кто же может это прояснить для меня? :)

Я подозреваю, что вы больше не собираетесь читать это, но в случае, если кто-то нажмет этот ответ: Google этот сайт. Есть десятки вариаций по этому вопросу.

Hennes
источник
0

если вам не нужно обращаться к памяти за порогом 4 ГБ, у вас все в порядке с 32-битной ОС.


источник
это так :) Так что я не ошибся в выборе 32-битной версии!
0

Для ноутбука с объемом памяти менее 4 ГБ 64-битная Windows была бы излишней. Разумный шаг - запуск 32-битной Windows, что также повышает вероятность того, что все драйверы будут работать и большинство программ будет работать.

В частности, на ноутбуке вы можете предпочесть 32-битную возможность Windows запускать игры для DOS.

И да, 32-битная Windows на самом деле будет быстрее, чем 64-битная Windows на большинстве ноутбуков.

Эндрю Дж. Брем
источник
0

Пока у вас есть поддержка драйверов, я бы также предложил 64-битные окна. Вы можете попробовать и посмотреть, как ваши приложения работают по-другому. Вообще, по моему опыту, многозадачность 64-битных окон намного лучше. Я перевел моего друга, который является крупным геймером, с 32 на 64 бит, и он смог перейти от двух открытых клиентов WOW (с проблемами частоты кадров) к четырем без проблем. Другие, изменившиеся в моем офисе, не имели реальной разницы в производительности запуска офисных приложений.

Джим Б
источник
-1

Твой друг плохой технарь. Если у вас нет более 3 ГБ ОЗУ, нет смысла использовать 64-битную версию, и ваш процессор будет работать и с 32-битной версией - нет правила, согласно которому 32-битные процессоры лучше справляются с 32-битными задачами.

Если у вас более 4 ГБ ОЗУ, вы, безусловно, должны быть на 64-битной платформе, однако, поскольку 32-битная ОС даст вам всего ~ 3,5 ГБ, чтобы поиграться с этим. Иначе, не стесняйтесь смеяться сразу же, поскольку он сталкивается с немного возросшим использованием оперативной памяти из-за наличия 64-битных указателей * вместо 32-битных указателей, без повышения! (если он сам не имеет более 4 ГБ)

* Небольшое увеличение, чтобы быть уверенным, но это потенциально удвоит использование оперативной памяти! На самом деле это едва заметно, но на самом деле он тоже не имеет отношения: P

Phoshi
источник
Я все еще задаюсь вопросом об этом: у меня действительно есть 4 ГБ ОЗУ, и вы говорите, что 32-битные версии используют только до 3,5 ГБ ... Так что это означает, что я не использую половину гигабайта моей памяти, верно? (Но я также думаю, что не стоит переустанавливать всю мою систему второй раз за пол-гигабайта дополнительно)
1
Ну, в зависимости от того, какое другое оборудование вы установили, в значительной степени. 32-разрядная ОС может адресовать только 4 ГБ памяти, включая вашу оперативную память, GRAM вашей видеокарты, память вашей звуковой карты и так далее. Переформатировать не стоит, но стоит иметь в виду.
Фоши