微软宣布Entity Framework 5的性能有了显著提升

微软宣布即将到来的Entity Framework 5相比EF4在性能上会有67%的提升。

根据ADO.NET团队博客上 的介绍,使用这个版本EF的应用程序之所以性能提升,要部分归功于LINQ to Entities查询的自动编译。自动编译功能一直都是EF框架中的一部分,只是需要开发人员调用CompiledQuery.Compile才能够使 用。现在,EF 5会自动处理这步工作:当某个查询首次运行时,它会被编译并缓存,从而使得后续请求可以避免重新完全编译。

EF 4为ESQL(嵌入式SQL)查询使用了编译后的查询缓存,而EF 5将该功能扩展到了LINQ to Entity查询中。一旦缓冲中超过800个编译后的查询,某个回收算法将开始生效并以每分钟一次的周期清理缓存。 实体依据LFRU(最近最早使用)原理从缓存中移除。

使用编译后的LINQ to SQL查询同样能够提升性能。ADO.NET团队提到在他们的内部测试中,通过对查询参数评估方式的一些改动带来了600%的性能提升。

尽管.NET交付和EF的发布两者之间相互独立,它们还是公用了一些核心库,包括System.Data.Entity.dll、System.Data.Entity.Design.dll和System.Web.Entity.dll。这样的好处在于使用EF 4.0的开发人员只要升级到.NET框架4.5,就应当可以体验到性能的提升。

由于EF5中的某些新特性(如枚举支持以及空间数据类型)依赖于.NET框架4.5中的功能,因此在.NET 4.5发布之前没有太多指望能使用到它们。此外,微软在本月初宣布推出了EF4.3

查看英文原文:Microsoft Reports Significant Performance Improvements in Entity Framework 5

This entry was posted in DB. Bookmark the permalink.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s