人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

C++のプログラミングに関する質問です。
<cstdint>にはfastが付く各サイズの型がありますが、
cstdint (C++11) - cpprefjp - C++ Library Reference https://sites.google.com/site/cpprefjp/reference/cstdint

これはどれだけ早くなるのでしょうか?
おそらくfastにすることで、多めにメモリを確保するので、
メモリの消費量は増えますが、
メモリアロケートで、計算コストを減らしていると思われます。

また、このfastを使った時に、メモリ消費量以外に背反は無いのでしょうか?

fastを使った時の計算時間評価の結果などの資料を知っている場合には、
教えていただけると幸いです。

●質問者: 匿名質問者
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 匿名回答1号

単純に CPU でレジスタI/O が最短ステップになるビット幅に切り上げているだけだと思うけれど。
http://stackoverflow.com/questions/5254051/the-difference-of-int8-t-int-least8-t-and-int-fast8-t


匿名質問者さんのコメント
回答ありがとうございます。勉強不足で知らないのですが、そうすると計算コストは減るのでしょうか?

匿名回答1号さんのコメント
計算時間(コスト)ってつまるところ演算するのに何クロックかかるかってこと。 原理や最近の動向はこのあたりでも見て確認してください。 http://ufcpp.net/study/computer/CPU.html#arithmetic-instruction http://ja.wikipedia.org/wiki/Streaming_SIMD_Extensions マルチコアっていっても、結局一つの処理をするのは一つのコアなので、このあたりは結局ノイマン型の処理です。 で同一クロック数のPCで、演算が高速ってことはどれだけ少ないステップで計算するかってことです。 たいていの場合はバス幅で性能が出るように設計されているので、8ビット演算するより、64ビット(OSが対応していれば)で演算した方が早いハズ。 (コンパイラ性能の)真偽を確認するなら、生成されたアセンブラコードを、命令にかかるクロックを積算して比較してください。 (これができるようになるにはCPUの勉強がちょっと必要だと思うけれど。)
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ