将变量从double更改为float会有多少性能提升?

tah*_*aha 3 c++ floating-point double performance

我有一个花费太多时间的程序,所以我想稍微优化我的代码.

double到目前为止,我已经为每个变量使用了类型.如果我改为类型float,是否会出现任何性能优势?

Die*_*Epp 7

无可置疑地回答这个问题:它取决于你的代码和你的硬件.这种变化会产生许多可能的影响:

  • 内存使用量将减少.
  • 缓存未命中次数会减少.
  • CPU指令将花费更少的周期.
  • 编译器可以以不同方式自动向量化或自动向量化.
  • 应用程序中的数值算法可能无法再正确收敛.

告诉实际性能差异的唯一方法是自己测试.听起来像一个简单的搜索和替换工作.