Ваше приложение может работать, а может и не работать быстрее. Я видел улучшения для некоторых приложений, но не для других. Это зависит от того, насколько ваше приложение использует преимущества 64-битных (математических) операций, и смещает ли это большие данные и код, которые использует x64, и, следовательно, должно загружаться в кэш инструкций и данных, прежде чем его можно будет выполнить.
http://blogs.msdn.com/b/joshwil/archive/2006/07/18/670090.aspx
Это стоит прочитать. Это старый (.NET 2.0), но многое еще применяется; размеры указателя, COM-взаимодействие и т. д .:
Миграция 32-битного управляемого кода в 64-битный
Стоит также знать, что даже на x64 CLR имеет ограничение на размер одного объекта 2 Гб. Это не проблема для 99% сценариев, но если вы переходите на x64, вероятно, это потому, что вы можете работать с большими наборами данных. Смотрите здесь для дальнейшего обсуждения:
Ограничены ли строки C # (и другие API .NET) размером 2 ГБ?
Итак. Если ваше приложение не использует данные, которые не помещаются в 32-битную память или интенсивно используют 64-битные операции, вы можете не увидеть много, если есть какие-либо улучшения.
Другим недостатком является то, что Visual Studio для приложений x64 имеет некоторые ограничения:
Редактировать и продолжить недоступно
для 64-битной отладки.
Вы не можете отлаживать в смешанном режиме, звонки
из нативного кода в управляемый код, или
и наоборот, в 64-битном коде.
См .: http://msdn.microsoft.com/en-us/library/ms184681(VS.80).aspx
Примечание: 64-битные компиляторы C ++ не установлены по умолчанию. Вы должны выбрать их во время установки.
Я также только что нашел это (потому что я сам оптимизирую приложение x64).
«Портирование и оптимизация приложений на 64-битной Windows для AMD64 ...»
http://download.microsoft.com/download/5/b/5/5b5bec17-ea71-4653-9539-204a672f11cf/AMD64_PortApp.doc
Имеет много хороших указателей на переключатели компилятора и тому подобное.