0

我有一个程序花费大量时间进行复杂的指数微积分。它目前使用cexp来自 C99 数学库。(我将其称为复杂)

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

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

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

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

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

谢谢。

4

0 回答 0