64-битные ОС: ставить или не ставить?
02-03-2010 19:11
к комментариям - к полной версии
- понравилось!
По прошествии некоторого времени я пришел к обоснованному мнению на этот вопрос: не ставить, за исключением особых случаев (подробнее о них ниже).
Поначалу я был более оптимистично настроен по отношению к 64-битным ОС и при первом же удобном случае хотел поставить такую на свой рабочий компьютер. Принципиальных преимуществ у 64-битных систем два. Первое - это способность адресовать более 2Гб адресного пространства процесса. Второе - более развитая система команд процессора, увеличенная разрядность регистров, большее количество самих регистров, способность обработки в одной команде 64-битных целых.
Первое из преимуществ является на данном этапе несущественным, учитывая, что не слишком дорогой компьютер обычно имеет до 2-4Гб памяти, и отдавать всю или почти всю память одному процессу - как-то нерационально. Да и нужд таких пока нет, чтобы одна программа использовала такое большое количество памяти для своей работы. К тому же, чтобы использовать это преимущество, программа должна быть компилирована под 64-битный процессор, что в настоящее время тоже нечастое явление.
Второе из упомянутых преимуществ было с моей точки зрения более существенным. Некоторые алгоритмы могут выполняться быстрее в разы на одном и том же процессоре, если они работают в 64-битном режиме. Поэтому, желая иметь в своем распоряжении 64-битную систему, я прежде всего надеялся на общее увеличение производительности ее работы.
Однако на практике все оказалось иначе. Все перечисленные преимущества 64-битного процессора не сыграли заметной роли и не увеличили быстродействие моей системы. То ли компиляторы пока еще не могут оптимизировать код эффективно в таких условиях, то ли те алгоритмы, которые тормозят, не могут быть ускорены за счет использования 64-битного кода. Короче говоря, заметного ускорения работы компьютера не произошло. Зато произошло нежелательное явление: увеличение нагрузки на оперативную память. 64-битный код имеет меньшую плотность и соответственно больший размер EXE- и DLL-файлов; кроме того, для хранения указателей требуется в 2 раза больше памяти. В результате одни и те же программы, компилированные в 64-битный код, требуют в полтора-два раза больше памяти для своей работы. Стартующая Windows 7 и резидентные программы, число которых я постарался свести к минимуму, занимают в памяти около 800 мегабайт по сравнению с примерно 256Мб для Windows XP 32-bit. При запуске других приложений под 64-битной системой объем свободной памяти тает тоже быстрее, чем на 32-битной системе, за счет общего уменьшения плотности кода, увеличения размера DLLек. И вот этот недостаток памяти и работа файла подкачки замедляют систему куда сильнее, чем недоиспользование возможностей 64-битного процессора, когда он работает под 32-битной ОС.
И это еще не всё. Хоть под 64-битной виндой работают почти все приложения, написанные под 32-битную винду, все же имеются некоторые проблемы совместимости. 16-битные приложения и ДОС-приложения не работают вовсе (фирма Microsoft убрала режим эмуляции 16-битных Windows и DOS в 64-битной винде), что было для меня тоже неприятным сюрпризом.
Поэтому я считаю, что на компьютер с оперативной памятью менее 6-8Гб ставить 64-битную ОС вообще не имеет смысла. 64-битная ОС может быть необходима для работы программ, которые требуют более 2Гб памяти. Но такие программы я встречал редко, это были специализированные алгоритмы для обработки больших объемов научных данных. Остальные программы умещаются и в 32-битное адресное пространство, и даже если у компьютера более 2-4Гб памяти, 32-битная винда может использовать эту память, лишь бы только каждая отдельная программа не превышала этот барьер в 2Гб.
вверх^
к полной версии
понравилось!
в evernote