2012-01-27 12 views
1

私はこれについて実践的な経験豊かな答えをしたいと思います。 どちらが速いのですか?シェルスクリプトやPHPスクリプトを書く?このスクリプトはcronでセットアップされます。シェルスクリプトとPHPのCron

ここに私が達成しようとしていることの簡単なアイデアがあります。

多くのPGP暗号化ファイルをクライアントから取得します。ローカルサーバーにダウンロードし、解読し、別の場所に移動して処理します。

1日に約20〜25件のファイルがあり、その数は徐々に増加します。

これを行うために、テスト目的でPHPスクリプトとシェルスクリプトの両方を作成しました。 しかし、私たちはどちらがより速く、有利になるか分からない。

誰でも試しましたか?どの入力?

ありがとうございます!

+5

さて、あなたはすでに両方を書いた場合、なぜありませんベンチマークをすれば、あなたは確かな答えを得られますか? – rdlowrey

+0

もっと速い?それはあなたが各スクリプトをどのように書いたかによって異なります。より信頼性の高い?もう一度 - それはあなたがスクリプトを書いた方法によって決まります。唯一の言語/環境固有の利点は、シェル・スクリプトがWebサーバーに結びついていないことです。タイムアウトは設定されておらず、Apache/IISサービスが稼動していることに依存しません。スピードの面では、主要なスピードの利点があるかどうかを確認するために各スクリプトの時間を設定してください。 – Kevin

+0

@KevinあなたのPHP CLIスクリプト*は「Webサーバーに結び付けられていますか?」ですか? – rdlowrey

答えて

1

両方とも、インタープリタを使用してタスクを実行します。どちらのOSを使用しているかに応じて、エンジンはどちらもC++で書かれている可能性があります。

私はPHPを使用します。それはあなたが追加することができるより多くのモジュールを持っているので。

あなたのPGP暗号化をしてから、mySQL DBを更新したい、電子メールを送信する、Facebookに投稿する、あなたの仕事が完了したというツイートを送信する。

- PHPにはawebservは必要ありません。私は、PHPとシェルスクリプトのコマンドライン実行を指しています。 PHPコマンドラインヘルプ - http://php.net/manual/en/features.commandline.php

3

コメントに示されているとおり、ベンチマークするだけです。

確かには、復号段階で費やされた時間と比較して重要ではありません。また、

、20-25リクエスト、でも1000の要求(暗号化は悪名高い計算コストの高いプロセス、特にデュアルキー暗号である)に(私たちは巨大なファイルを復号化について話している場合を除き、現代のマシン上ではありませんこの場合も、暗号化ステップはラッパースクリプト内の任意の最適化を湿らせる)。この質問とベンチマークをすることはおそらく、あなたが遭遇するすべてのオーバーヘッドを浪費するでしょう。

(余談ですが、私は本当にあなたが直接パブリックに面していないバックエンドマシン上で復号化を行っていることを願っていたよう。あなたの鍵を守る!)

+0

@Cornad Shults:はい、私たちはバックオフィスシステムでやっています。一般市民ではありません。ベンチマーキングには時間がかかります。だから誰かがすでにそれを試していたら私は探していた。そして、私は信じています、これらの種類のscripsで働く人々は通常これをすぐに伝えることができます。 –