Dynamics CRM 2011 SDK Web サービス利用時のベストプラクティス その 2

みなさん、こんにちは。

以前 Web サービス認証におけるベストプラクティス を紹介しましたが、今回も
引き続きベストプラクティスの検証記事をお届けします。

Execute メソッド 対 共通メソッド

SDK には、以下のベストプラクティスの紹介があります。

共通メソッドの使用
共通メソッドは、対応するメッセージで Execute メソッドを使用するよりもすばやく
実行できます。

つまりレコードを作成するなら、 Execute メソッドより、 Create メソッドを利用した
方がパフォーマンスが良いということです。では実際に試してみましょう。

前提

今回も、前回同様コンソールアプリケーションを利用します。また前回のベスト
プラクティスを考慮した開発を行っています。環境は新規に作成した Microsoft
Dynamics CRM 2011 設置型で、重複検出ルールは無効、プラグインやプロセス
はともに存在しない、取引先企業レコードを 1000 件連続作成します。

プログラム A では Create メソッドを、 プログラム B では Execute メソッドを
それぞれ利用しています。

検証結果

パフォーマンスのばらつきを考慮して、5 回検証しました。

プログラム A プログラム B
1 回目 21 .2 秒 23 .1 秒
2 回目 17.2 秒 17.6 秒
3 回目 19.0 秒 19.5 秒
4 回目 18.3 秒 17.0 秒
5 回目 16.1 秒 20.1 秒

ほとんど差はないものの、概ねプログラム A のパフォーマンスが良い傾向が
出ています。また 5000 件 レコードを作成する検証も 1 度だけ行いましたが
1000 件の時と大差ない結果となりました。

プログラム A プログラム B
1 回目 81.6 秒 82.2 秒

まとめ

今回非常に簡単なシナリオをプログラムで検証した限りでは、Execute と
Create 共通メソッドの差を見ることはできませんでしたが、また他の共通
メソッドで検証してみたいと思います。

‐ Dynamics CRM サポート 中村 憲一郎