変数の容量を節約するために、容量の小さい変数型に変えたら計算時間が長くなる事があるようですが何故ですか?分かる方いらっしゃいますか?
例えば16バイトの変数を使っていたが、4バイト変数に変えて計算したら計算時間が長くなったというようなケースです。
変数の容量について
Re: 変数の容量について
C言語やJavaの基本型の中で、1個のサイズが16バイトのものを知らないのですが、どの言語の何という型でしょうか?
計算時間が長くなる原因は、そのプログラム次第だと思います。
例えば、スタックに格納するときに型変換が生じる、CPUで扱う基本的なサイズでないから、などの理由が考えられると思います。
計算時間が長くなる原因は、そのプログラム次第だと思います。
例えば、スタックに格納するときに型変換が生じる、CPUで扱う基本的なサイズでないから、などの理由が考えられると思います。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 変数の容量について
昔と違い現在のCPUだとCPUキャッシュで大半の問題は吸収されると思います。
ただ、メモリにランダムアクセスするなら出来るだけ大きな単位のデータで取り扱ったほうが効率が良くなるでしょう。
それでも、ハードやアルゴリズム不明の条件だと、これが悪いと決めづらいです。
こういうのは一般論では想定が難しく、特定条件下で効率のよい方法を考えるべきだと思います。
ただ、メモリにランダムアクセスするなら出来るだけ大きな単位のデータで取り扱ったほうが効率が良くなるでしょう。
それでも、ハードやアルゴリズム不明の条件だと、これが悪いと決めづらいです。
こういうのは一般論では想定が難しく、特定条件下で効率のよい方法を考えるべきだと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。