SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

Visual StudioのWeb参照とカスタムクラスのパフォーマンスを比較する

Visual Studioが自動生成するプロキシクラスの効率性を検証

  • X ポスト
  • このエントリーをはてなブックマークに追加

テスト2:HTML生成

 このプロジェクトでは、Webサービスから取得されたデータはソートされ、若干の書式設定がされたうえでユーザーのブラウザに表示されます。自動生成プロキシクラスを使用する場合は、DataSetをソートしてからDataSet内の行を列挙処理し、Response.Write文を使用して、対象となるデータとHTMLマークアップを出力します。XmlDocumentアプローチの場合は、顧客の提案に従い、XSLTを使用してソートされたXMLデータをHTMLに変換することにしました。

 ご推察のとおり、Response.Write文を使用したデータ出力は、XSLTを使用してXMLをHTMLに変換するよりも高速です。下記のグラフは、各アプローチでの実行時間の違いを示したものです。データをソートする場合と、Webサービスに返された順番でデータを出力する場合の両方を示しています。両方のアプローチ間の時間の絶対差はごくわずか(1ミリ秒未満)です。従って、極端に負荷が高い環境でなければ、どちらのアプローチでも十分に有効です。ただ私たちは、DataSetをソートしてResponse.Writeでマークアップを出力する方法の方が好きです。なぜなら、DataSetを扱い、Response.Writeでクライアントにマークアップを出力する方がシンプルなため、XSLTを使用する場合よりもコードの読みやすさと保守性が向上する傾向があるからです。XSLTを使用する場合は、XSLTに精通し、また追加の構文を習得しなければなりません。

 これらのテスト結果から分かるのは、Visual Studioの[Web参照の追加]を使用して自動生成プロキシクラスを作成するのは、単に時間の節約になるだけでなく、カスタムクラスからWebサービスを直接呼び出してそのデータをXmlDocumentにロードするよりも実際に効率的であるということです。同様に、Response.Write文によってマークアップをブラウザに直接出力することは、XSLTを使用してXMLをHTMLに変換するより高速です。

 それでは、ハッピープログラミング!

参考資料

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Sam Menard(Sam Menard)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

John Jakovich(John Jakovich)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Jamie Davis(Jamie Davis)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5013 2010/04/02 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング