現: 2016-03-28 (月) 17:22:01 takatsuka[3] [4] | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | * はじめに。言い訳。 [#i7953b7f] | ||
+ | C/C++では、同じ処理をさせるにもコードの書き方で吐き出されるマシン語コードに違いが出ます。 | ||
+ | ここでは自分が有効かなと思っている最適化ネタを記載してます。 | ||
+ | |||
+ | 昨今のマシンスペックを持ってすれば、ちょこざいな小手先テクニックは不要と思っている方もいらっしゃると思いますし、確かに、わざわざ最適化する必要がない場合も多いと思います。 | ||
+ | ですが、ソフトウェアという物は、要となる数箇所を最適化するだけで動作が快適になったり、逆に、なにも考慮されずに書いたコードが(塵も積もれば山となるで)ソフトウェア全体のパフォーマンスを悪化させる要因にもなりかねません。 | ||
+ | |||
+ | 昨今のコンパイラの最適化処理はかなり優秀ですし、今後さらに優秀になっていくと思われます。 | ||
+ | しかし、その最適化処理を有効に機能させる為のコーディングテクニックが存在することも事実です。 | ||
+ | |||
+ | 最適化されたコードというのは、コードの見易さとトレードオフになるケースが多いですが、何も考慮せずに書くコードより、速度面やコストパフォーマンス、コードの読みやすさなど、全てを考慮しながらコーディング出来ることが、良いソフトウェアに繋がると考えておりますし理想だと思っています。 | ||
+ | |||
+ | 開発環境として、VisualStudio6 及び VisualStudio.NET2003 をターゲットにしており、WindowsAPIを使った例もありますが、基本的な考え方は多分どんな環境にも通じるであろうと思います。 | ||
+ | |||
+ | もし掲載されている内容に間違いなどありましたら是非ご指摘ください。それ程自信がある訳ではないので、御意見、アドバイスなど頂けると大変嬉しいです。 | ||
+ | |||
+ | written by takatsuka | ||
+ | |||
+ | #lsx(,notitle); |
(This host) = https://thinkridge.com