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