Запуск 32-битного .NET-приложения в 64-битной ОС медленный - PullRequest
0 голосов
/ 29 октября 2009

Моя среда: asp.net 3.5 framework с xp

У меня есть запрос. Мы разработали наш продукт с использованием 32-битной. Когда мы развернули 64-битную машину (виртуальная машина Windows 2008), она кажется очень медленной по сравнению с 32-битной версией iis. Нужно ли перекомпилировать нашу сборку на 64-битной машине, чтобы получить более быстрый отклик в 64-битной среде?
Или необходимо выполнить какую-либо настройку на 64-битной машине? Если dll соблюдается в 32-разрядной версии, целесообразно ли запускать только в 32-разрядной версии iis, чтобы получить более высокую производительность ура Санджай

Ответы [ 3 ]

1 голос
/ 29 октября 2009

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

0 голосов
/ 18 октября 2012
0 голосов
/ 29 октября 2009

Вы уверены, что у вас достаточно памяти? 64-разрядные приложения .NET используют больше памяти.

Ваше приложение работает как 64-битное? Вы скомпилировали его для "Any CPU"?

Некоторые приложения работают медленнее в 64-битной среде просто потому, что они «касаются» большего объема памяти (издержки для каждого экземпляра класса выше + каждая ссылка на объект 64-битная, а не 32-битная), что приводит к необходимости выборки ЦП данные из оперативной памяти в кэш процессора чаще.

По моему опыту, приложения для обработки данных / обработки текста работают несколько медленнее с 64-разрядными, но приложения, которые интенсивно используют плавающую точку, работают быстрее. Однако почти во всех случаях разница составляет <20% - если только у 64-разрядного приложения недостаточно памяти, из-за которой ОС начинает подкачку ОЗУ на диск. </p>

...