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

Моя среда: фреймворк asp.net 3.5 с xp

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


person Community    schedule 29.10.2009    source источник
comment
Возможно. Мне этот вопрос кажется очень знакомым, но я не могу вспомнить, в чем заключалась сделка. Я склоняюсь к известной ошибке MS, но я не уверен. Если я снова найду информацию, я вернусь и опубликую ее.   -  person Brian Knoblauch    schedule 29.10.2009


Ответы (3)


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

person Ilya Khaprov    schedule 29.10.2009

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

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

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

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

person Joe Erickson    schedule 29.10.2009

Настройте пул приложений, чтобы включить 32-разрядные приложения.

введите описание изображения здесь

Связанные чтения:

person Gan    schedule 18.10.2012