假设内存不是问题,那么针对64位操作系统是否会使C/C++ Windows控制台应用程序运行得更快?
更新:在一些注释/答案的提示下,应用程序涉及统计算法(例如线性代数、随机数绘制等)。
发布于 2010-06-17 19:16:57
主要回答的是编辑,而不是最初的问题:我已经移植了一个应用程序,这个应用程序非常依赖统计数据,(特别是)线性代数,可以作为64位代码运行。对于该代码,工作量很小,我们在速度上得到了3:1的改进。
我怀疑,大多数的观点认为,通常不会有(通常是间接的)公司的代码不容易移植,并正在尽最大努力告诉客户为什么继续购买他们的程序是一个好主意,即使它仍然是32位代码。在我移植的代码(或者大多数情况下只是“重新编译”)中,没有一个比64位代码的运行速度慢,而且大多数代码的发布速度至少要快一点。
发布于 2010-06-17 15:16:54
答案可能是。你得量一下。
使用64位目标允许使用更多寄存器,这意味着对内存的访问较少,因此执行速度更快。
另一方面,使用64位目标将所有指针和地址强制为64位,扩大了内存占用,减缓了执行速度。
发布于 2010-06-17 15:16:55
答案可能很大。
当您对应用程序进行重大更改时,针对不同的平台肯定会对您的应用程序产生性能影响。它对于类型、操作和非常不同的操作系统具有不同的大小语义来交互。
这些因素和许多其他因素肯定会导致应用程序中的性能更改。不管是微妙的,巨大的,更好的,更糟的,等等.将非常特定于您正在编写的应用程序类型。如果没有更多的细节,在这里不可能给出一个一般性的答案。
https://stackoverflow.com/questions/3062931
复制相似问题