64ビット統一に流れ


ここ最近のパソコンはもうほとんど64ビットですよね。昔は16ビット、そして32ビットへと進化していったのに、どんどんビット数も上がっていくんですよね…

img_0015

32ビット基準のものが移り変わっていっている

プログラミングをしていく上でも、基本的な方は32ビットのものです。例えばint型とかfloat型なんかは32ビットの数値型です。

なのですが、最近のCPUは64ビットですし、設計も64ビット、そして最適化されているのも64ビット向けの型だったりするんですよね。

そうすると、64ビット設定なのに32ビットの型を使おうとしている。この状況あんまりよろしくないんですよね

サイズが小さい方がいいとは限らない

最近目にして面白いと思った記事なのですが、最近のCPUはdouble型に合わせて設計しているらしいです。

私がプログラマー初心者だった頃はできるだけサイズが小さい変数の方が高速だしパソコンに優しいんじゃないかなんて思ってbyte型とかshort型とか使いまくってたんですが、全然そんなことないらしいんですよ

じゃあパソコンにとっていいプログラムは何なのかといいますと、対象にしているパソコンが何ビットかで分けるのがベストだそうです。

古いパソコンで動かすの前提な設計をするわけじゃないなら基本的にlong型、double型を使った方がいいのかもしれないですね。オーバーフローも起こさないし

可読性の高いコードについて

img_0016

ところで、高速化・最適化も大事なことなのですが、プログラミングしていく上で可読性の高いコードを書くことも気にする必要があります。

正直いって、byteやshort、intやlongが混在しまくってるコードなんてくそくらえですわ。それならいっそlongで統一してくれと思います。

不動小点数型だってそう、いっそdouble型で統一したほうがいいんじゃないですかね。

まあ、floatとdouble、こっちが速いからこのほうがいいんだ!なんて言ったって正直たかが知れてると思いますよ。

まとめ

最近の私のプログラムの設計なんですが、基本的に小数の型はdoubleで統一、数値型は面倒なのでintで統一って感じです。これでも特に動作が遅いなんて感じたことないしいいんじゃないですかね。