質問: C/C++ は非常に高速に動作する言語であることは既に知られていますが、なぜほかのプログラミング言語に比べて圧倒的に高速に動作するのでしょうか? マシン語やアセンブリ言語に近い記述ができるからでしょうか? C/C++ の高速化の秘訣が知りたいです。
回答: ### 不要な初期化処理を行わない 単純に書き込み処理の量が減るので高速になります。ただし、最初に何の値が入っているか判らないという事なので、これに気付かずバグを生むことがあります。Releaseビルドで挙動が違うとかは、大体これのせい。 ### GCやメモリを保護する機能が無く、自分で適切なメモリ管理をしなければならない 最近のGCのある流行りの言語より手間は増えますが、ヒープにアクセスする頻度、余計なメモリチェックが減るので高速になります。ただし、確保したメモリ範囲外を踏み抜こうが気付かずそのまま動いたりするので、良し悪しです。他言語でも、意識的にヒープ使用を抑えるようなコーディングをすると、この辺りはかなり差が縮まります。 ### 細かいコンパイルオプション 動作環境が決まっているのであれば、CPUの種類を指定したり、かなり細かいチューニングをしてより速いコードを吐かせる事が可能です。当然環境依存するコードを吐くので、これも良し悪しです。 パっと思いつくのが、こんなとこです。