Я полагаю, что основной вопрос при выборе между 32 и 64 битами заключается не в том, «поддерживает ли мой процессор 64 бита - если так, то я должен использовать 64, потому что это вдвое лучше», а «Сколько памяти у меня есть?» ,
64-разрядные программы используют примерно на 50% больше памяти, чем их 32-разрядные аналоги. Результаты этого:
меньшее количество кода / данных может поместиться в кэш-память процессора -> больше кеш-памяти -> ваш сверхбыстрый процессор больше ждет, пока контроллер памяти извлечет данные из ОЗУ. Процессор также должен читать больше данных, потому что он более раздутый.
Linux использует нераспределенную оперативную память для кэширования дисков. Меньше свободной памяти -> меньше места для дискового кэша -> более медленный доступ к диску
Как только у вас заканчивается ОЗУ, и система начинает обмениваться - доступ к диску в тысячи раз медленнее, чем ОЗУ, поэтому любые потенциальные преимущества 64-битного кода (см. Ниже) выходят за рамки.
С другой стороны, в 64-битном режиме процессор имеет больше регистров, поэтому ему не требуется доступ к памяти, что часто также делает некоторые вычисления (64-битные числа и т. Д.) Более эффективными. В общем, код, который не ограничен в памяти, работает немного быстрее в 64-битном режиме.
Итак, если ваша система имеет, скажем, 2 ГБ ОЗУ или меньше, я бы определенно выбрал 32 бита. Более 4GiB - преимущества 64 бит становятся все более заметными. Вокруг 4GiB это «серая зона» - вам нужно сделать выбор самостоятельно.
Вот скриншоты (довольно старой) ванильной Ubuntu, работающей в VirtualBox с 1 ГБ ОЗУ:
32 бита: использует 388 МБ ОЗУ сразу после загрузки, дополнительные приложения не запускаются (из скриншота 397780 КБ, что составляет 388 МБ)
64 бита: использует 491 МБ ОЗУ (на снимке экрана: 503452 КБ = 491 МБ)
Кроме того, в моем тестировании веб-приложение, написанное на Python, использовало до 60% больше памяти на 64-разрядной машине, в результате чего набор тестов выполнялся за 380 секунд на 32-разрядной машине, но занимал 523 секунды на 64-разрядной машине. бит один (оба с 1 ГБ ОЗУ). Если бы машины не были ограничены RAM, результаты, вероятно, были бы другими (как показывают тесты phoronix).
Вот несколько более тщательных и недавних тестов: http://kernel.ubuntu.com/~cking/x32/Quantal-x32-power-memory-comparisons.ods
По сути, это все равно, что отдать 30% оперативной памяти в обмен на возможное увеличение скорости процессора на 10%.