サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
myoga.web.fc2.com
5. アセンブリについて 「アセンブリ」と言うと、「高速なプログラム」の代名詞的な響きがありますが… これは余りお薦めしません。 最近のコンパイラは性能が高いので、自分でアセンブリコードを書いても太刀打ち出来ません。 下手に書くと絶対にコンパイラの吐くコードよりも遅くなりますし、 ちゃんと勉強してペアリングなども考慮して記述したとしても、 コンパイラの吐くコードと殆ど同じ速度のコードにしかなりません。 アセンブリで書いて効果があるのは、 通常の C/C++ では記述できないような処理の仕方をする場合 コンパイラの知らない機能 (CPU の拡張命令とか) を使う場合 位の物です。 どうしてもアセンブリで書きたいというのであれば、 どんな命令が存在するのかをちゃんと知る。 実際に組む時には、各命令のクロック数を全て数え上げて短くなる様に勉める。 勿論、ペアリングなども考慮する Intel の出
3. メモリ さて、プログラムの最適化で一番重要になってくるのは、メモリです。 はっきり言って、数値計算をするプログラムの一番のボトルネックはメモリアクセスです。 下手なプログラムを書くと、計算時間の殆どがメモリアクセスの時間という事になりかねません。 昔は、メモリの動作速度は高速でその様な事はなかったのですが、 最近では CPU の性能向上が激しく、メモリに追いつき追い越し物凄い差を付けてしまいました。 CPU の動作について行ける様な速さで動作するメインメモリは高価になってしまい作れません。 まあ、値段の問題は抜きにしたとしても、CPU の動作は速すぎます。 これは、少し計算してみれば直ぐに分かります。 今売られている CPU では、コアのクロック周波数が高い物では 4GHz になります。 例えば 4GHz の CPU で 1 clock の間に光が進む距離を考えると、 3×1010
注意 この文章は自分で色々調べながら生半可の理解で書いた物であり、 信用出来ない部分が沢山あります。 何やら、変な宗教を流行らせるなという注意を受けてしまいました → 本の虫: いまだに変な宗教が流行っている。 (しかし、内部向けに書いた物を、よく見てくれる人がいる物だ。 御免なさい…詳しい人は見ないと思って、調子に乗って、適当な事を偉そうに書いちゃってますが…。) とはいえど、勉強になるのでありがたいです。 何か間違っている事があったら、直接連絡もして頂けると尚嬉しいです。 (或いは、コメント欄とかを用意した方が良いのかなあ。) 後、受けたコメントについて調べたりした内容も載せておく事にします → 初めに (コメントに対し)。 GPGPU について書こうと思ったのですが、それよりも先に、 高速なプログラムを書くに当たって注意するべき一般的な事を述べておいた方が良い様に思ったので、 「高速
このページを最初にブックマークしてみませんか?
『myoga.web.fc2.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く