我很快就会升级到 VS 的付费版本,但与此同时,我想解决一些问题。我知道如何编辑项目文件来指定 32 位或 64 位目标:
<PlatformTarget>anycpu</PlatformTarget>
但是,我注意到执行 64 位代码时性能急剧下降,这没有意义,因为我运行的是 Win 7 Home Premium 64 位。例如,与 32 位 int 等效项相比,以下 C# 的执行时间要长 13 倍以上:
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 位模式下编辑。这很令人困惑,因为速度并没有反映声明。
这里也有关于 Windows 上 32 位与 64 位性能的一些想法。可能有帮助:64 位模运算的奇怪性能行为