ページ 11

変数の容量について

Posted: 2013年12月03日(火) 19:00
by キャラクタ
変数の容量を節約するために、容量の小さい変数型に変えたら計算時間が長くなる事があるようですが何故ですか?分かる方いらっしゃいますか?

例えば16バイトの変数を使っていたが、4バイト変数に変えて計算したら計算時間が長くなったというようなケースです。

Re: 変数の容量について

Posted: 2013年12月03日(火) 20:59
by みけCAT
C言語やJavaの基本型の中で、1個のサイズが16バイトのものを知らないのですが、どの言語の何という型でしょうか?

計算時間が長くなる原因は、そのプログラム次第だと思います。
例えば、スタックに格納するときに型変換が生じる、CPUで扱う基本的なサイズでないから、などの理由が考えられると思います。

Re: 変数の容量について

Posted: 2013年12月03日(火) 22:40
by キャラクタ
すいません、バイト数は例えです。例えが悪かったですかね。
現実的には16ビットですかね。
原因はそれくらいでしょうか?

Re: 変数の容量について

Posted: 2013年12月03日(火) 23:56
by softya(ソフト屋)
昔と違い現在のCPUだとCPUキャッシュで大半の問題は吸収されると思います。
ただ、メモリにランダムアクセスするなら出来るだけ大きな単位のデータで取り扱ったほうが効率が良くなるでしょう。
それでも、ハードやアルゴリズム不明の条件だと、これが悪いと決めづらいです。

こういうのは一般論では想定が難しく、特定条件下で効率のよい方法を考えるべきだと思います。