複雑な指数計算に膨大な時間を費やすプログラムがあります。現在cexp
、C99 数学ライブラリを使用しています。(私はそれをコンプレックスと呼びます)
しかし、Windows でもプログラムを実行する必要があります。
ATM MinGW を使用していますが、パフォーマンス的に優れている場合は、MSVC に切り替えたいと考えています。ただし、MSVC は C99 をサポートしていないため、C++ 複合テンプレート クラスの実装でなければなりません (複合と呼びます)。_complex typedef も含まれていますが、それがないcexp
ので、sin と cos を使用して「手で」計算する必要があります。
だから私は知りたかったのですが、どちらがパフォーマンス的に優れていますか:
- MinGW にとどまり、複合体を使用します。libc6 のソースコードを調べたところ、とにかく sin と cos の呼び出しがあるようです。
- Complex 実装を使用して MSVC に移行
- _complex 実装を使用して MSVC に移行
また、Complex または _complex を使用する場合、(Unix OS の場合) complex を維持する価値はありますか? それとも、パフォーマンスの違いは関係ありませんか (gcc 4.7 を -O3 で使用し、MSVC を /O2 で使用しますか?)
ありがとう。