2012-01-31 12 views
0

私は、HTTPWebRequestがHTTPレスポンスのための自己記述パーサーとどのくらいの速さで対峙しているのだろうと思いました。HTTPWebRequestクラスの速度はどれくらいですか?

私は、HttpWebRequestクラスは、パイプライン化と持続的なTCP接続を(パイプラインはデフォルトで有効になっている)を使用することができ、知っています。キャッシングと圧縮の値を設定することもできます。

応答の解析は、おそらくボトルネックになることはありませんが、ちょうど私の好奇心のために:HttpWebRequestクラスは「不要」オーバーヘッドを生産していますか?

+3

私はあなたが正解と考えることができるとは思えません。それは機能を持っている、あなたが必要とするものと一致していてもいなくてもよい。それはあなたが必要とするものと一致するかもしれないし、そうでないかもしれないパフォーマンスを持っています。誰かにあなたのプロフィールを作ってもらいたいのですか? –

+0

@Kieren Johnstone:いいえ、誰かが私のためにプロフィールを作ってほしくないです。私は、すでに過去にプロファイリングをしたことのある人に、結果を共有するよう奨励しようとしています。誰も答えなければ、私は将来問題を簡単に削除することができます。おかげでdownvote明確にするため、とにかく – citronas

+0

のために:私は、パーサを自分で書いていない、私は、HttpWebRequestクラスとスピードの問題が知られている場合は、単に興味があった – citronas

答えて

2

自己書かれたパーサが何であるかを知らなくても、それはあなたの質問に定量化された答えを与えることはできません。

  • あなたの応答がしかのヘッダー
  • の特定のセットが含まれていますヘッダう:それは言った、あなた(例えば)場合、HTTPWebRequestより迅速なパーサを書くことができるかもしれません特定の順序で返され
  • しかあなたが応答に実行される処理を制限するために使用することができますつの宛先へ
  • その他の制約を行くあなたの要求

あなたがシナリオを制約することができれば、あなたはそれがカスタムパーサーは、唯一、それは期待していますシナリオを処理できるようにしているのに対し、任意の有効応答を処理できるようにしているようHTTPWebRequestをアウトパフォームすることができるかもしれません。あなたが書いているものはtrue HTTP応答パーサーではなく、有効な応答の厳密なサブセットを扱うものではないことに注意してください。

あなたが避けることができる任意のオーバーヘッドがあります場合は、あなたが言うことができる唯一の方法は、あなた自身の(サブセット)パーサを書いて、内蔵の1のそれにその性能を比較することです。

1

私は結論を持っていないが、私が質問のこの種のは、実際のケースのシナリオによって動機づけされなければならないと考えています。たとえば、HttpWebRequestクラスはあなたのソリューションを減速させますか?あなたはいくつかのプロファイラを使ってパフォーマンスの影響をチェックしましたか?

そして、最適化に関するこの種の質問についてよく知られている文があります。早期最適化は、ソフトウェア開発の悪魔であるです。

他のことに気を配り、良いプロファイラを使用してプログラムのパフォーマンス上の問題がどこにあるかを知ることをお勧めします(HttpWebRequestは問題にならないでしょう)。

関連する問題