37

Я недавно обновился до 64-битной ОС (Windows 7) со своей старой 32-битной версии. Я заметил, что хотя некоторые приложения доступны в 64-битном режиме (например, DC-клиент, Tortoise SVN, графический драйвер), многие по-прежнему являются 32-битными приложениями (например, Firefox, Adobe Reader).

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

7 ответов7

32

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

Преимущество наличия 64-битного приложения состоит в том, что оно может:

  • Доступ к гораздо большему количеству памяти¹
  • Выполните 64-битные операции с регистрами.²

64 64-битная программа может быть немного быстрее (в зависимости от того, как она работает). Если ваше приложение требует много памяти (например, Photoshop, 3D-рендеринг и т.д.), То наличие 64-битной версии даст ему доступ ко всей памяти компьютера. Без этого он будет ограничен где-то 2 ГБ. Это для каждого приложения , поэтому два приложения могут получить доступ к 4 ГБ.

² Выполнение 64-разрядной операции в 64-разрядной операционной системе выполняется быстрее, чем в 32-разрядной операционной системе - для выполнения одной и той же операции потребуется не менее 2 32-разрядных операций.

В отношении стабильности не должно быть никакой разницы между 64-битными и 32-битными приложениями.

9

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

Кроме того, 64-битные программы будут работать "лучше", чем 32-битные, поскольку они используют нативную архитектуру системы. Такие операции, как чтение памяти, выполняются изначально и т.д. Это означает, что ОС не нужно выполнять никакой дополнительной работы, "переводя" (упаковка / распаковка памяти и т.д.) Команды, которые использует приложение.

Однако большинство программ, таких как Firefox, Word, Adobe Reader и т.д., Проводят большую часть своего времени в ожидании пользовательского ввода, поэтому эффективность не обязательно является главной задачей. Кроме того, большинству этих приложений (на данный момент) не требуется дополнительная память, доступ к которой будет иметь 64-битная скорость.

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

5

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

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

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

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

4

Ответ "это зависит"

Некоторые 32-битные «приложения» не будут работать в 64-битном режиме, например, графические драйверы и расширения оболочки (такие как Tortoise SVN). В таком случае вам нужна 64-битная версия.

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

Если у вас есть, например, 16 ГБ памяти и вы используете сервер SQL с очень большой базой данных, то очень важно иметь 64-битную версию SQL.

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

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

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

Согласно Process Explorer, в настоящее время у меня запущено 25 64-разрядных процессов и 28 32-разрядных процессов, игнорируя Chrome)

3

Имейте в виду, что в 64-битной Windows 32-битные приложения выполняются через уровень эмуляции, известный как WOW64, который накладывает некоторые дополнительные ограничения, которых нет при работе под 32-битной ОС Windows.

С https://msdn.microsoft.com/en-us/library/aa384219(v=vs.85).aspx:

Производительность и потребление памяти под WOW64

  • Процессорное оборудование. Инструкция по эмуляции выполняется на чипе. На процессоре x64 инструкции выполняются изначально микроархитектурой. Поэтому скорость выполнения под WOW64 на x64 аналогична скорости под 32-битной Windows. На процессоре Intel Itanium больше программного обеспечения задействовано в эмуляции, и в результате страдает производительность.
  • API-интерфейс. Эти издержки невелики по сравнению с самим вызовом ядра NT. Функции ядра NT предназначены для нечастого вызова.
  • Размер виртуальной памяти. На процессоре Intel Itanium WOW64 добавляет значительную нагрузку, если два или более экземпляров одного и того же 32-разрядного приложения работают одновременно. Это происходит из-за собственных страниц размером 8 КБ на Intel Itanium, что усложняет эмуляцию собственных страниц объемом 4 КБ в архитектуре x86 (больше страниц помечаются как доступные для записи; все доступные для записи страницы являются частными для процесса). Это может отрицательно повлиять на масштабируемость служб терминалов на определенных процессорах. Это не относится к процессору x64.
  • Рабочий набор. WOW64 увеличивает размер рабочего набора приложения.

  • WOW64 позволяет 32-разрядным приложениям использовать преимущества 64-разрядного ядра. Поэтому 32-разрядные приложения могут использовать большее количество дескрипторов ядра и дескрипторов окон. Однако 32-разрядные приложения могут не иметь возможности создавать столько потоков в WOW64, сколько они могут при естественной работе в системах на базе x86, поскольку WOW64 выделяет дополнительный 64-разрядный стек (обычно 512 КБ) для каждого потока. Кроме того, некоторое количество адресного пространства зарезервировано для самого WOW64 и структур данных, которые он использует. Зарезервированная сумма зависит от процессора; на Intel Itanium зарезервировано больше, чем на процессоре x64.

1

Позволяет не сокращать это коротко. 64-битные камни. Если вы можете получить его, используйте его. Visual Studio и SQL Server (даже просто с использованием только Management Studio) выигрывают от 64-разрядной версии. Нельзя сказать, что это того не стоит. Нет, это не обязательно, но мы должны стремиться повысить скорость работы ноутбуков и ноутбуков разработчиков и других пользователей (даже не технарей, которые используют простые MS Word). Почему бы не воспользоваться преимуществами, не продвигать и не обсуждать 64-битные технологии в своей компании? Это больше не так уж и ново ... это стало или стало обычным явлением.

Смешно говорить, что 64-битная версия вам не очень выгодна, так же как смешно говорить мне, что добавление 4 гигов для завершения 8 гигов на любом ноутбуке ни для какого пользователя не стоит. Это просто еще один пример жадных администраторов IT-сетей или корпораций, в которых обновление до 64-битной системы в большинстве случаев обычно бесплатное, а затем для ОЗУ это смехотворно дешево и повышает производительность вашего пользователя в два раза.

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

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

Если бы 64-битной была такая проблема, то большинство настольных компьютеров и ноутбуков в наши дни не стали бы переходить на 64-битную Win 7. Вся наша компания выпускает 64-битную версию Win 7 Pro для ВСЕХ пользователей (более 100,00 сотрудников)

0

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .