BT

WCFとASP.NET Coreのパフォーマンス比較

| 作者: Jeff Martin フォローする 16 人のフォロワー , 翻訳者 sasai フォローする 0 人のフォロワー 投稿日 2018年4月12日. 推定読書時間: 2 分 |

原文(投稿日:2018/04/06)へのリンク

読者の皆様へ:ノイズを減らすための一連の機能を開発しました。関心のあるトピックについて電子メールとWeb通知を受け取ることができます新機能の詳細をご覧ください

MicrosoftはASP.NET Coreの開発に多大な時間と開発パワーを費やしてきた。その結果、新しい機能をもつオープンプラットフォームが誕生し、大きな開発者コミュニティとのオープンな取り組みから恩恵を受けてきた。ASP.NET Coreは、WCF(Windows Communication Foundation)のような古い技術よりもパフォーマンスが優れていることを期待するだろう。ところが最近、そうではないと思われているようだ。これについて、もう少し詳しく見ていこう。

最近、開発者のErik Heemskerk氏は、ASP.NET CoreとWCFのパフォーマンスを調査した記事を書いた。彼の実験では、それぞれの技術を使って、単純なプロジェクトを用意して、「ローカルWebサーバーを立ち上げ、リクエスト作成、送信、デシリアライズ、レスポンス生成、返信、レスポンスのデシリアライズにかかる時間を測定した」という。

驚いたことに、ペイロードにシンプルなGUIDを使った場合、WCFは同等のASP.NET Coreプロジェクトと比べて約3倍高速だった。Heemskerk氏は、この違いは、ASP.NET CoreがJSONを使うのに、WCFがXMLにシリアライズするところにあるかもしれないと考え、ASP.NET CoreをXMLにシリアライズするようにした。結果は改善されたが、依然としてWCFの方がずっと高速だった。別のアプローチを試してみようと、Heemskerk氏はペイロードのサイズををもっと現実的なオブジェクトまで大きくし、ASP.NET CoreでMessagePackを使うようにした。これにより、最新のASP.NETはWCFよりも少し高速になったという。

しかし、話はこれで終わらない。開発者のJosh Bartley氏はHeemskerk氏の作業を調べて、ASP.NETの結果を改善するために他に変更できることはないか確認した。彼の分析によると、ASP.NETのベンチマークには、WCFコードの作業と比べて全く同じ作業が含まれているわけではないようだ。

したがって、ASP.NET Coreはパフォーマンスの点で一歩遅れているわけではない。もし最初のパフォーマンスが期待を満たしていなければ、最高のパフォーマンスを出すために、何らかの分析が必要になるだろう。パフォーマンス改善を試みるとき、大きな教訓は、適切な場所をベンチマークに選んで、適切な場所のコードが改善されるようにすることだ。

 

 
 

Rate this Article

Adoption Stage
Style
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT