プロジェクト

全般

プロフィール

A/I #9

未完了

boost::multiprecision::cpp_bin_float_100とlong double型の処理速度を比較する

開発 次郎 さんが7ヶ月前に追加. 7ヶ月前に更新.

ステータス:
休止中
優先度:
通常
担当者:
開始日:
2025/05/04
期日:
2025/05/06 (約7ヶ月 遅れ)
予定工数:

開発 次郎 さんが7ヶ月前に更新 · 編集済み

  • ステータス新規 から 進行中 に変更

軽く比較してみる

  • double型の結果
  • long double型の結果
  • boost::multiprecision::int128_t型の結果

メモ

  • boostは1_88_0をpacmanでインストールしたものであり、1_53_0ではない
  • boost::multiprecisionにはsinとcos関数がない?
    • powはある
  • 使いどころによってはずいぶん変わるんだろうなぁ
    • 現時点、使いどころはかなり適当(≒処理で使う変数のごく一部に差をつけているだけ)
    • 浮動小数点数すべてを切り替えていない

開発 次郎 さんが7ヶ月前に更新 · 編集済み

GCC4で比較してみる

std::chronoは使わず、CPUクロック・カウントを使うように変更した。
どうやら、GCC4では制度が悪いらしい(sin関数程度ならゼロナノ秒となってしまう)

  • double型の結果
  • long double型の結果
  • boost::multiprecision::int128_t型の結果

トラブルシューティング

  • ERROR: During startup program exited with code 0xc0000135.
    • 現象
      • VSCodeから「デバッグ開始」で実行しようとしても、上記エラーになって実行できない
        • プログラムは正常終了している??いやprintf分が出力されていないから違うな
          • The program 'D:\temp\test01\cmake_cpp_multilang\build\example\ConsoleMsys2\example.exe' has exited with code 0 (0x00000000).
    • 解決策
      • 今のところない。 VSCodeでなく手導なら可能だし、そもそもデバッグすることは少ないと考えられるため、(今は)これ以上追及しない
    • 試したこと
      • Windowsの世界でもMinGW64.GCC485のgdbを実行できるようにPATHを通した
        • launch.jsonで直PATH指定するのと変わらない
      • マニュアルでgdb example\ConsoleMsys2\example.exeだと実行できる

開発 次郎 さんが7ヶ月前に更新

  • 題名boost::multiprecision::int128_tとlong double型の処理速度を比較する から boost::multiprecision::cpp_bin_float_100とlong double型の処理速度を比較する に変更

開発 次郎 さんが7ヶ月前に更新

  • 優先度通常 から 低め に変更

開発 次郎 さんが7ヶ月前に更新

  • ステータス進行中 から 休止中 に変更
  • 優先度低め から 通常 に変更

他の形式にエクスポート: Atom PDF