- ベストアンサー
プログラムの高速化について
いつも思うのですがプログラムを組んでいて、「どうするのが一番速いのだろうか?」と考えてしまいます。 すでにこのような時代ですから、ちょっとぐらい高速化しようがしまいが関係ないとは思っています。しかし、どうせなら、0.01秒でも早いほうがよいと考えてしまうのです。 ですが、プログラムの見栄えを変える(例えばC言語のなかにアセンブリを利用する)ということではなく、そのプログラム言語自体を利用してもっとも高速化できるかを知りたいと思っています。 そのため、そのような「こうするよりこうするのが速い!」というようなものを紹介しているページはあるのでしょうか? 今は主にPerlやC言語について知りたいと思っていますが、その他のプログラム紹介でも全然かまいません。そのようなホームページはあるのでしょうか? 例えば(真偽は分からないですが、だからこそ知りたいと思ってしまいます)、 *** フォームから送られてきたパスワードをチェックするにはハッシュを利用したチェックよりも、whileの繰り返しを利用した方が実は高速化が図れる。 *** などを紹介しているページです。 どうか、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
「どんな言語がどんな処理に向いているか」 これを見極める事じゃないでしょうか? CGI板なのでサーバーサイドプログラミングについて言えば、 C言語は確かに高速ですが、文字処理をやらせるとPERLやPHPに 劣ってしまうということもありますし、PERLはサーバーサイドでのコンパイルを実行毎にしてあるのでその事を考えれば、モジュールがapacheに組み込んであるPHPのほうが早いです。もし使えるのであれば、コンパイルできるJSPなどもコンパイルする事により高速化が狙えます。mod_perlはサーバーのメモリ使用量が多いと聞きましたが、インタプリタの起動や中間コードの解釈実行がないのでなかなか高速のようです。 ですから、高速化について多くを語っているページは なかなか見つかりません(^^;(ゴメンナサイ、期待しちゃいましたか・・・) ですので、WEBプログラム等は高速化というより、軽量化ではないでしょうか?軽量化をすれば高速化に繋がるので。
その他の回答 (1)
- MovingWalk
- ベストアンサー率43% (2233/5098)
漠然としすぎて答えるのが難しいですね。 しかたがないのでGoogleで「プログラム 高速化」で検索したらたくさん ヒットしました。どうしましょう。 http://www.google.co.jp/search?sourceid=navclient&hl=ja&q=%83v%83%8D%83O%83%89%83%80+%8D%82%91%AC%89%BB%81%40 条件を追加するともっと欲しい情報が得られるかもしれません。
お礼
なんか、これだ!というような具体的な質問ができずにすいません。 もっと詳しく言いますと… $name = $in{'name'}; print "$name"; とした場合、明らかに$nameに入れるのは無駄な行為だと思うのですが、ハッシュ関数からデータを読み出すよりも、スカラー関数に代入した値から呼び出した方が効率的だとは思います。そのため、 $nameを2回以上利用するときは$nameに値を代入しています。(何となく2回なのですが…) というように考えてしまうので、なかなかはかどらないということもあって少し困っていました。 やはり、なかなかないものですね。 しかし、どうもありがとうございました。
お礼
c言語も利用しているのですが、なかなか効率的ではなく、Perlを利用していました。 しかし、phpについての知識もほとんどなかったため、手を出してみたいと思いました。 ですが時代は流れるもので、どんどん新しいものが出てきてしまいますね。 それはそれで、喜ばしいことなのでしょうが…(苦笑) また改めて自分でも極力探したいと思います。 お答えどうもありがとうございました。