2016-08-22 5 views
0

私が取り組んでいるプロジェクトはすべてhttpsリクエストのパフォーマンスです。 私は他の人の中で最も速くなる必要があります。HTTPSリクエストのパフォーマンスをC#からC#に移行する必要がありますか?

私は、リクエストのパフォーマンスのほとんどがサーバーとホストの物理的接続に依存していることを理解しています。要求ごとに30msのようにするためにこの要素を最善に試していたので、現在は他の部分の改善を検討しています。数ミリ秒が重大になる可能性があります。

ネイティブコードが速く動作し、暗号化のような操作がマネージャコードとの処理時間を半分にしていると聞きました.HTTPSリクエストには暗号化が必要ですが、どれくらいの時間がかかります。

あなたは私にいくつかの助言を与えることができますか、またはあなたの誰かがその違いがどれほど大きいかテストしましたか?

+1

あなたのどちらのアプリケーションが遅いですか? – TZHX

+0

私は自分自身をC#に​​制限しているので、私のアプリケーションのどの部分も遅く表示されません。具体的には、HTTPSリクエストのパフォーマンスを向上させたいと思っています。マイグレーションによって予期せぬパフォーマンスが得られるかもしれません。 –

+1

私は直接アドバイスをしていないので答えはありません。暗号化はおそらくあなたのコードではなく、 、パフォーマンスはそのライブラリの品質に基づいています。私は、C#が暗号化では性能がない(CやC++で書かれているかもしれない)ことを知り、驚いています。 C++はWeb開発では書かれていなかったので、C++に切り替えるには他のライブラリを使用する必要があります。したがって、コードが実際にリクエストごとにミリ秒実行されていることが分かっていなければ切り替えません。一方、あなたが試しなければ、あなたは決して知りません。 – stefaanv

答えて

1

ネイティブコードで実行すると、アプリケーションの起動時に勝つ可能性があります。

HTTPリクエスト操作で.NETメソッドを呼び出す場合は、リクエストを行うネイティブコードがあり、HTTPSの処理にTLSを使用します。違いの大部分を占めるコードの重要な部分は既にネイティブコードです。オブジェクトをネイティブコードの上からマネージコードに渡すことによるパフォーマンスの低下、わからないこと、正確なユースケースのベンチマークなしに誰も正確に伝えることができない可能性があります。あなたが巨大なスループットを扱っているのであれば、数ミリ秒の差をつける可能性があります。

+0

.NETコードのいくつかを見て、そのように思われます。この場合、私は自分の時間を節約するためにそれをベンチマーキングしないことを選択します。ありがとうございました –

関連する問題