Установите Visual Studio 2010 Express для 64-разрядных платформ - PullRequest
0 голосов
/ 22 августа 2011

Я скоро обновлюсь до платной версии VS, но в то же время я хотел бы кое-что решить.Я знаю, как отредактировать файл проекта, чтобы указать 32-битную или 64-битную цель:

<PlatformTarget>anycpu</PlatformTarget>

Однако при выполнении 64-битного кода я замечаю резкое падение производительности, которое не имеет смысла, поскольку я 'м работает Win 7 Home Premium 64 бит.Например, следующий C # выполняется в 13 раз дольше по сравнению с 32-битным эквивалентом int:

int T = Environment.TickCount;
long j = 0;

for (long i = 0; i < 1000000000; i++)
{
    j = i % 1024;
}

MessageBox.Show((Environment.TickCount - T).ToString() + Environment.NewLine + 
   j.ToString());

Я считаю, что 32-разрядные и 64-разрядные переменные должны выполняться с одинаковой скоростью в 64-разрядной ОС,Есть ли что-то, что мне нужно настроить или установить, чтобы VS Express компилировал это в надлежащие 64-битные версии?

Я выполняю выпуск exe.

Как примечание, я не могу редактировать код врежим отладки.VS сообщает, что код нельзя редактировать в 64-битном режиме.Это сбивает с толку, потому что скорость не отражает утверждение.

1 Ответ

0 голосов
/ 22 августа 2011

Есть некоторые мысли о 32-битной и 64-битной производительности в Windows. Может быть полезно: Странное поведение производительности для 64-битной операции по модулю

...