2007年04月11日

C# Double.IsNaN と Double.IsPositiveInfinity って重いの?

Omega Chartのプロファイルをフリーのプロファイラ NProf で取ってみた所、

Double.IsNaN
Double.IsPositiveInfinity

ってところが実行時間ででかくなっていた。
両者とも、Data.cs の TradeData.GetValueにある。
#自働売買シュミレーションをさせたときの結果

よく呼び出される、ネイティブの関数だから実行時間が大きくなったと考えることもできるけどな。

これらはネイティブコードなので、Double.IsNaN と Double.IsPositiveInfinity がどんな実装になっているかはわからない。
単純なビット比較で実装されていればいいんだけどな。
NaN フラグと、PositiveInfinityフラグを 論理和で見るぐらいであってほしい。
面倒な比較をやられると困るなぁ。

この関数の速度について説明している人や議論している人は今の所居なさそうなんだけど、どうなのかな。
浮動小数点計算なんてやる人たちが速度を気にするわけないか。
posted by rti at 22:48 | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/38478316

この記事へのトラックバック