1. ホーム
  2. c#

[解決済み] フロートとダブルの性能比較

2023-02-12 14:53:50

質問

私はいくつかのタイミングテストを行い、また以下のような記事も読みました。 この1つ (最後のコメント) を読みましたが、Release build では float と double の値は同じ処理時間を要するようです。

これはどのようにして可能なのでしょうか?float は double 値に比べて精度が低く小さいのに、CLR はどのようにして double 値を同じ処理時間にすることができるのでしょうか?

どのように解決するのですか?

x86 プロセッサでは、少なくとも floatdouble は、それぞれFPUで10バイトの実数に変換されて処理されます。 FPUは、サポートする浮動小数点型の違いによって処理ユニットを分けているわけではありません。

古くからのアドバイスである float よりも速いです。 double は、ほとんどの CPU が FPU を内蔵していなかった (そして FPU チップを別に持っている人はほとんどいなかった) 100 年前に適用され、ほとんどの浮動小数点演算はソフトウェアで行われました。 これらのマシン (溶岩洞窟から発生する蒸気で駆動していた) では でした。 を使用した方が高速でした。 float s. 今、唯一の本当の利点は float の本当の利点は、スペースを取らないということです (これは何百万個もある場合にのみ重要です)。