16

L2S と EF を比較する最近のパフォーマンス ベンチマークを探していましたが、リリースされたバージョンの EF を使用してストアド プロシージャの呼び出しをテストしたものは見つかりませんでした。それで、私はいくつかの独自のテストを実行し、いくつかの興味深い結果を見つけました.

これらの結果は正しく見えますか? 別の方法でテストする必要がありますか?

コンテキストの 1 つのインスタンス、sproc の 1 つの呼び出し: (リンク切れ)

コンテキストの 1 つのインスタンス、同じ sproc の複数の呼び出し: (リンク切れ)

コンテキストの複数のインスタンス、同じ sproc の複数の呼び出し: (リンク切れ)

4

3 に答える 3

8

起動コストと実行コストを区別するために、多少異なる方法でテストする必要があると思います。特に Entity Framework では、データベース ビューをコンパイルする必要があるため、かなりの起動コストがかかります(ただし、事前にコンパイルすることはできます)。同様に、LINQ にはコンパイル済みクエリの概念があり、クエリを複数回実行する場合に適しています。

多くのアプリケーションでは、起動コストよりもクエリ実行コストの方が重要です。一部の人にとっては、逆のことが当てはまるかもしれません。これらは性能特性が異なるので、見分けることが重要だと思います。特に、起動コストを繰り返し実行されるクエリの平均コストに平均化することは、誤解を招く可能性があります。

于 2008-11-03T14:37:21.590 に答える
3

これは、LINQtoSQLとEntityFrameworkの間のパフォーマンスのかなりの測定値のように見えます。

http://toomanylayers.blogspot.com/2009/01/entity-framework-and-linq-to-sql.html

于 2009-08-27T22:09:12.333 に答える