实体框架5.0基准测试

时间:2012-08-24 04:37:53

标签: .net entity-framework ado.net linq-to-entities benchmarking

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

我一直在做一些针对.NET 4.5的简单测试,使用for循环的LINQ查询,以尝试自动编译查询,并看到从我的目标到.NET 4.0时的某种性能变化,但我'我们根本没有看到任何性能变化。

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

由于

1 个答案:

答案 0 :(得分:5)

少数事情:

  • 如果要比较.NET 4和.NET 4.5之间的性能变化,则必须有两台计算机,因为.NET 4.5是就地升级。在机器上安装.NET 4.5将“删除”在旧的.NET 4.0上运行的可能性(感谢微软的这场噩梦)。您可以将项目定位到.NET 4,但在运行时,如果已安装,则始终在.NET 4.5上运行。
  • 查找性能改进可能非常困难,因为查询生成中没有真正的更改列表,但您应关注的两个方面是:
    • 自动编译查询 - 使用.NET 4.5的EF5中的自动功能。此功能应该可以提高查询的后续执行速度 - 首次执行仍然比.NET 4中的“慢”或甚至“慢”
    • 每个层次结构表查询中的优化。这通常应该改进仅针对继承结构中的单一类型或仅从基本实体投射字段的查询。在.NET 4中,这总是导致加入派生实体的所有表,即使它们不是必需的。我没有尝试过这种改进,所以我很乐意在这里阅读你的发现。