たま~に色々書き込む所
Posted by ユハニ - 2009.03.03,Tue
って楽しいよね?
私だけでしょうか? 兎に角すでに速いと思ったアルゴリズムのスピードを10%削られたら私はちょっと幸せな気分になります。
だけどそれはいつ必要だろう? 何をすれば一番よろしいでしょうか? えらそうに言うつもりはないですが、兎に角完全に音楽日記にならないために、それについてここ自分の考えてる事を少しずつまとめようと思います。
最適化をすると大抵の時はコードが普段より分かりにくくなります・・・ オペレーションの順番を変えたり、計算式の掛算をシフトに変えたり、行ベースではなく、長いバッファーで働いてるとコードが速くなっても、必ず分かりにくくなってしまう。
ハイレベルな言語で何かを書いても、どんなに最適化しても、コンパイルされるモットローレベルな言語ではもっと速くなります。
最適化を凄いしたっても、やる所があまり実行されないと意味がないです。 一般的に言われてるのは「プロセセィングの8割は2割のコードで行われます」。使ってる言語にそんなツールがあれば、プログラムのプロファイルを取って、一番実行の時間が長い所を認識しましょう。
プロファイラーについて何ですが、GCCを使う場合は-pgフラグをコンパイル時に使い、実行したあとの結果をgprofで読むと各関数の実行時間などは見れます。 他のフラグでは各行の実行回数なども見れます。 やっぱりこんなのは出来るから私はC/C++から離れません。
これの結果をベースに最適化を進めば結果が可能な限り成果を見せるはずです。
また続きます・・・
次回は多分もっと細かくどんな事が出来るを書こうと思っています。
私だけでしょうか? 兎に角すでに速いと思ったアルゴリズムのスピードを10%削られたら私はちょっと幸せな気分になります。
だけどそれはいつ必要だろう? 何をすれば一番よろしいでしょうか? えらそうに言うつもりはないですが、兎に角完全に音楽日記にならないために、それについてここ自分の考えてる事を少しずつまとめようと思います。
最適化をすると大抵の時はコードが普段より分かりにくくなります・・・ オペレーションの順番を変えたり、計算式の掛算をシフトに変えたり、行ベースではなく、長いバッファーで働いてるとコードが速くなっても、必ず分かりにくくなってしまう。
ハイレベルな言語で何かを書いても、どんなに最適化しても、コンパイルされるモットローレベルな言語ではもっと速くなります。
最適化を凄いしたっても、やる所があまり実行されないと意味がないです。 一般的に言われてるのは「プロセセィングの8割は2割のコードで行われます」。使ってる言語にそんなツールがあれば、プログラムのプロファイルを取って、一番実行の時間が長い所を認識しましょう。
プロファイラーについて何ですが、GCCを使う場合は-pgフラグをコンパイル時に使い、実行したあとの結果をgprofで読むと各関数の実行時間などは見れます。 他のフラグでは各行の実行回数なども見れます。 やっぱりこんなのは出来るから私はC/C++から離れません。
これの結果をベースに最適化を進めば結果が可能な限り成果を見せるはずです。
また続きます・・・
次回は多分もっと細かくどんな事が出来るを書こうと思っています。
PR
カレンダー
ブログ内検索
プロフィール
HN:
ユハニ
性別:
非公開
職業:
プログラマー
自己紹介:
サムファクのプログラマーの一人。
C++とかでの最適化などが好き。
後は音楽を聞く・弾く、や漫画読書。
いつかは世界征服を目指したいかも。
C++とかでの最適化などが好き。
後は音楽を聞く・弾く、や漫画読書。
いつかは世界征服を目指したいかも。
Template by mavericyard*
Powered by "Samurai Factory"
Powered by "Samurai Factory"