7

私はインターンシップを行っており、新しい Entity Framework 5.0 のパフォーマンスの変化を評価するように依頼されました。私は個人的に Entity Framework を使用したことがなく、適切なベンチマーク テストを行うための大きなデータベースやクエリも持っていません。

LINQ クエリの for ループを使用して .NET 4.5 を対象としたいくつかの簡単なテストを行ってきました。クエリを自動的にコンパイルして、.NET 4.0 を対象とした場合と比べて何らかのパフォーマンスの変化を確認するためですが、まだ行っていません。あらゆる種類のパフォーマンスの変化をまったく確認できません。

Entity Framework の新しいバージョンのパフォーマンスが向上したことを示す、Entity Framework のベンチマーク テストが既に行われているものはありますか?

ありがとう

4

1 に答える 1

5

いくつかのこと:

  • .NET 4 と .NET 4.5 のパフォーマンスの変化を比較する場合、.NET 4.5 はインプレース アップグレードであるため、2 台のマシンが必要です。マシンに .NET 4.5 をインストールすると、古い .NET 4.0 で実行する可能性が「削除」されます (この悪夢について Microsoft に感謝します)。プロジェクトのターゲットを .NET 4 にすることはできますが、実行時には、インストールされている場合は常に .NET 4.5 で実行されます。
  • クエリ生成における実際の変更点のリストはないため、パフォーマンスの改善を見つけるのは非常に難しい場合がありますが、関心のある 2 つの領域は次のとおりです。
    • 自動コンパイルされたクエリ - .NET 4.5 を使用した EF5 の自動機能。この機能により、クエリの後続の実行速度が向上するはずです。最初の実行は、.NET 4 よりも「遅い」か、場合によっては「遅い」ことさえあります。
    • Table-per-hierarchy クエリの最適化。これにより、一般に、継承構造の単一の型のみを対象とするクエリ、または基本エンティティからフィールドのみを射影するクエリが改善されます。.NET 4 では、これにより派生エンティティのすべてのテーブルが不要な場合でも常に結合されていました。私はまだこの改善を試していないので、ここであなたの発見を読んで喜んでいます.
于 2012-08-24T07:51:54.397 に答える