高速ゴリラ塾
難しいことは置いといて、とりあえずちゃっちゃとはやく動かしたい君へ。
満足する速さになるまで1から順にやっていこう。
- 構成をReleaseにする
- 実行をデバッグなし(Ctrl+F5)にする
- プログラムを見直す
- 並列化する
- GPU、SIMDなど
以下ではそれぞれを説明する。
構成をDebugからReleaseに変更すると、すげー速くなるよ。
注意:
- デバッグしにくくなる。(ブレークポイントで停止させたとき変数の値が正しく代入されないことがある)
- Release構成用の、OpenCVの設定をする必要がある。
http://gori-naru.blogspot.jp/2012/11/opencvhelloworld.html
2.デバッグなしで開始
F5を押すとプログラムが実行される。
ブレイクポイントが使えるし、バグるとどこでバグったかわかるし、
プログラムが終わるとコンソールウィンドウ(文字が出力される怪しい黒い画面)が自動的に閉じる。
プログラムが終わるとコンソールウィンドウ(文字が出力される怪しい黒い画面)が自動的に閉じる。
超便利なデバッグ用機能だ。普通はこれで実行する。
でも、もうプログラムがバグらないこととわかっている(≒信じている)なら
コントロールキーを押しながらF5を押す。
デバッグ用機能はすべて無効化されるが、そのぶん本気出してくれる。
3.プログラムを見直す
プログラムによるので何とも言えない。だからネット上にも情報が少ない。
ファイルの読み書きは重い。回数が少なくなるように。
あと std::endl をただの改行の出力として使わないこと。(flushを含んでいるから)
なるべくOpenCVの実装を使う。
自分で実装するよりも絶対速い。
4.並列化
5.GPU、SIMD
ググれ
0 件のコメント:
コメントを投稿