复数C ++实现性能

时间:2013-03-27 14:13:44

标签: c++ visual-c++ gcc

我有一个程序花了很多时间做复杂的指数演算。 它目前使用C99数学库中的cexp。 (我会把它称为复杂的)

但我必须让程序在windows下运行。

ATM我使用MinGW,但如果性能更好,我想切换到MSVC。 但是,MSVC不提供C99支持,因此它必须是C ++ Complex模板类实现(我将其称为Complex);还包括_complex typedef,但没有cexp因此我必须使用sin和cos来“手动”计算它。

所以我想知道,哪个更好,性能更好:

  • 留在MinGW并使用复杂的。我研究了libc6的源代码,看起来无论如何都会调用sin和cos。
  • 使用Complex实现
  • 转到MSVC
  • 使用_complex实现
  • 进入MSVC

另外,如果我去复杂或_complex,是否值得保持复杂(对于Unix操作系统)? 或者性能上的差异是否无关紧要(使用带有-O3的gcc 4.7和带有/ O2的MSVC?)

感谢。

0 个答案:

没有答案