2012/12/16

プログラムの手軽な高速化

高速ゴリラ塾

難しいことは置いといて、とりあえずちゃっちゃとはやく動かしたい君へ。
満足する速さになるまで1から順にやっていこう。
  1. 構成をReleaseにする
  2. 実行をデバッグなし(Ctrl+F5)にする
  3. プログラムを見直す
  4. 並列化する
  5. GPU、SIMDなど
以下ではそれぞれを説明する。

1.Release構成

構成をDebugからReleaseに変更すると、すげー速くなるよ。

注意:

2.デバッグなしで開始

F5を押すとプログラムが実行される。
ブレイクポイントが使えるし、バグるとどこでバグったかわかるし、
プログラムが終わるとコンソールウィンドウ(文字が出力される怪しい黒い画面)が自動的に閉じる。
超便利なデバッグ用機能だ。普通はこれで実行する。

でも、もうプログラムがバグらないこととわかっている(≒信じている)なら
コントロールキーを押しながらF5を押す。
デバッグ用機能はすべて無効化されるが、そのぶん本気出してくれる。

3.プログラムを見直す

プログラムによるので何とも言えない。だからネット上にも情報が少ない。

ファイルの読み書きは重い。回数が少なくなるように。
あと std::endl をただの改行の出力として使わないこと。(flushを含んでいるから)

なるべくOpenCVの実装を使う。
自分で実装するよりも絶対速い。

4.並列化


5.GPU、SIMD

ググれ

0 件のコメント:

Related Posts Plugin for WordPress, Blogger...