实体框架5.0基准测试

Shi*_*ami 7 .net benchmarking ado.net linq-to-entities entity-framework

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

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

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

谢谢

Lad*_*nka 5

一些事情:

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