gpt4 book ai didi

c# - 较新的 x64 在遍历数组时比旧的 x86 慢?

转载 作者:行者123 更新时间:2023-11-30 22:40:03 25 4
gpt4 key购买 nike

我遍历一个 3d 数组:

byte[, ,] data = original.Data;
for (int i = original.Rows - 1; i >= 0; i--)
{
for (int j = original.Cols - 1; j >= 0; j--)
{
if (data [i,j,0] < 100)
{
data [i, j, 0] += 100;
data [i, j, 1] += 40;
data [i, j, 2] += 243;
}
else
{
data [i,j,0] = 0;
}
}

}

我用一个相当老的 x86 CPU (Intel Core Duo) 和一个相当新的 x64 CPU (Intel i7) 测试了这段代码。我很惊讶地看到,较新的 x64 CPU 慢得多。 x64 需要三倍的时间!该代码有什么问题?我该怎么做才能使 x64 代码更快?

附加信息:- 两个测试都是在 win 7 操作系统上进行的。 (x86 为 32 位版本,x64 为 64 位版本)-代码是C#

最佳答案

一般来说,许多较新的处理器确实往往比旧处理器慢,尤其是旧得多的处理器。

然而,较新的处理器往往具有更多的内核并且使用更少的功率。这就是多线程变得如此重要的部分原因 - 您不能依赖 future 的硬件来提供速度优势。

此外,64 位代码的运行速度通常比类似的 32 位代码慢。但是,它确实提供了其他好处,例如访问更大容量的内存。

关于c# - 较新的 x64 在遍历数组时比旧的 x86 慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5394541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com