7

我正在实习,我被要求评估新 Entity Framework 5.0 的性能变化。我个人从未使用过实体框架,也没有任何类型的大型数据库或查询来进行适当的基准测试。

我一直在使用 LINQ 查询的 for 循环针对 .NET 4.5 进行一些简单的测试,以尝试自动编译查询并查看从我定位到 .NET 4.0 时的某种性能变化,但我没有能够看到任何类型的性能变化。

是否有任何已经完成的实体框架基准测试可以显示新版本的实体框架何时具有更好的性能?

谢谢

4

1 回答 1

5

一些事情:

  • 如果您想比较 .NET 4 和 .NET 4.5 之间的性能变化,您必须拥有两台机器,因为 .NET 4.5 是就地升级。在机器上安装 .NET 4.5 将“消除”在旧 .NET 4.0 上运行的可能性(感谢 Microsoft 的这场噩梦)。您可以将项目定位到 .NET 4,但在运行时,如果已安装,您将始终在 .NET 4.5 上运行。
  • 找到性能改进可能非常困难,因为查询生成中没有真正变化的列表,但您应该感兴趣的两个领域是:
    • 自动编译查询 - 带有 .NET 4.5 的 EF5 中的自动功能。此功能应该会提高查询的后续执行速度 - 第一次执行仍将比 .NET 4 中的“慢”甚至“慢”
    • Table-per-hierarchy 查询中的优化。这通常应该改进仅针对继承结构中的单一类型或仅从基本实体投影字段的查询。在 .NET 4 中,这总是会导致连接派生实体的所有表,即使它们不需要。我还没有尝试过这种改进,所以我很乐意在这里阅读您的发现。
于 2012-08-24T07:51:54.397 回答