• 締切済み

高速なプログラムを作るには?

JF1Msfの回答

  • JF1Msf
  • ベストアンサー率20% (18/88)
回答No.5

 そう難しいことを考えず、やはり可読性を重視してコーディングし、コンパイル時に最適化オプションを付けるだけで、かなり高速になるんじゃないでしょうか。そういったテクニックはコンパイラがやってのけるので、コンパイラに任せてしまいましょう。  どんな処理系でコンパイルしていますか? Unixのccとかなら-Oオプションを使いますけど。

関連するQ&A

  • 高速化のテクニック

    プログラムを高速化するためのテクニック集を探していますがサイト、書籍ともなかなか見つかりません。特に図形のレンダリング(直線や曲線をイメージデータとして生成する)の高速アルゴリズムを探しています。ちなみに、Bresenham程度なら知っています。他にも乗算や割り算を高速化するための方法とかでもいいので、高速化するためのテクニックが載っているサイト、書籍をご存知でしたら教えてください。

  • プログラムの高速化について

    いつも思うのですがプログラムを組んでいて、「どうするのが一番速いのだろうか?」と考えてしまいます。 すでにこのような時代ですから、ちょっとぐらい高速化しようがしまいが関係ないとは思っています。しかし、どうせなら、0.01秒でも早いほうがよいと考えてしまうのです。 ですが、プログラムの見栄えを変える(例えばC言語のなかにアセンブリを利用する)ということではなく、そのプログラム言語自体を利用してもっとも高速化できるかを知りたいと思っています。 そのため、そのような「こうするよりこうするのが速い!」というようなものを紹介しているページはあるのでしょうか? 今は主にPerlやC言語について知りたいと思っていますが、その他のプログラム紹介でも全然かまいません。そのようなホームページはあるのでしょうか? 例えば(真偽は分からないですが、だからこそ知りたいと思ってしまいます)、 *** フォームから送られてきたパスワードをチェックするにはハッシュを利用したチェックよりも、whileの繰り返しを利用した方が実は高速化が図れる。 *** などを紹介しているページです。 どうか、よろしくお願いします。

    • ベストアンサー
    • CGI
  • プログラムの高速化について質問です。

    プログラムの高速化について質問です。 現在C言語でプログラムをかいているのですが、 1.プログラムの量を減らすため、*やforを使って繰り返し演算をする。 2.なるべく*やforを減らすため、長いプログラムにする この二つではどちらのほうがプログラムを高速化することが出来るのでしょうか?

  • サンプルプログラムがたくさんあるサイト

    今、C言語を勉強しています。 解説サイトはよく見かけるのですがサンプルプログラムがたくさん置いてある サイトはあまり見かけたことがありません。 サンプルプログラムがたくさん置いてあるサイトを教えてください。 よろしくお願いします。

  • プログラムの高速化

    要素数Nのfloat型配列aに対して、 Σ(a[i]-a[i-1])^2 を計算するプログラムを高速化したいのですが、 どのような方法がありますか? 今のところ単純に、 答えをanswerとすると for(i = 1; i <= N; i++) answer += (a[i] - a[i-1])*(a[i] - a[i-1]); とする方法しか思いつかないのですが・・・・。

  • ActionScript3.0と2.0&1.0の事

    最近、ActionScript3.0の勉強を始めました ActionScript3.0について解説されているサイトを探していたところ なぜか、ActionScript2.0と1.0についての解説サイトを発見してしまいました。 しかし、その2.0と1.0についての解説サイトが非常に充実していたため、ぜひとも参考にしたいのですが 2.0や1.0のプログラム(traceなどの関数など…)をそのまま3.0で使えるのでしょうか? また、2.0や1.0のテクニック等も、そのまま3.0で使えるのでしょうか?

    • ベストアンサー
    • Flash
  • アセンブリでプログラムの高速化をするには

    アセンブリレベルでのプログラムの高速化ができるようになりたくて、アセンブリを勉強し始めた者です。 質問なのですが、CPUは新しくなるにつれて命令が増えたり、製品によって微妙に違ったりしますよね。そういうCPUの命令の種類を知るにはどう調べたらいいのでしょうか?「core 2 アーキテクチャ」等と調べてみましたが、思うような情報が出てきません。CPUの仕様書みたいな物がメーカーから配布されていたりしますか? また、もし「Windowsパソコンで超高速に処理を行うコンポーネントを作ろう!」と思ったら、Windowsパソコンで使われている様々なCPU(coreとかPentiumとかAMDのCPUとか)に合わせてアセンブリ(アセンブリが対応していない場合は機械語)や命令セットを知り、CPUに特化したプログラムを書いていかなければならないでしょうか。CPUは本当に種類が多いので、それは死ぬほど大変なような気がします。それとも、CPUにはある程度の互換性があって、そこまで細分化してプログラムを書く必要はないですか? 質問は上記の2つです。回答よろしくお願いします。

  • gmailを規定のプログラムにしたい

    gmailを規定のプログラムに登録したいのですが 規定のプログラムに「gmail」が出てきません。 どのサイトもgmialをwindowsに登録しないと出来ません。 とあり登録の方法が載っていません。 (私が見たサイトだけかもしれませんが・・・) 一部サイトにハンドラ管理でgmailを登録とありましたら出来ず。 またwin高速化のソフトを使ってとかありましたが、 ソフトを使用しないとダメなのでしょうか? ブラウザはchromeを使用しています。

    • ベストアンサー
    • Gmail
  • FFTプログラムについて

    こんにちは。 一周期の三角波についての高速フーリエ変換して、そのすペクトラムのグラフのプログラムの組み方が分かりません。高速フーリエ変換自体が良く分からないので、勉強方法や分かりやすい参考書があったら教えてください。

  • どうやってWindows7高速化が実現できますか?

    みんなにお願いしたいことがあるんですが、それはWindows7高速化の方法です。今は、Windows7をうまく使いこなせないままです。ディスク内の自分にとって不要なものを捨てましたが、そして、PC起動時に立ち上がるソフトで、余計なプログラムも遅延させてみました。でも、効果があんまり見えませんでした。多分、やるべきことは他にあるかもしれません。問題なのは、それ以外、他の方法は分かりません。だから、ここでWindows7高速化について、みんなに相談に乗りたいんです。何か効果的な方法があれば、私に教えてくれますか?