NHibernate与Entity Framework性能比较

对NHibernate与EF的性能做了简单的测试

测试环境:Win7 64bit, NHibernate 3.2, Entity Framework 4.0

 

结果如下:

1. 条件查询:NHibernate略优于EF Linq

2. 根据主键查找对象: HHibernate大大优于EF Linq,当使用eager loading获取关联对象时尤甚

3. 使用compiled(预编译)Linq可以大大提高EF的性能,特别当查询条件比较复杂的时候。

 

以下数据均为每秒钟可执行操作的次数(more is better)

1. 条件查询 

Where 1 Where 1 OrderBy Where (1&2) Order By Where (1 & (2 | 3)) Order By
Nhibernate 373 359 357 356
EF Linq 349 303 295 268
EF Compiled Linq 710 640 613 621
EF Query Builder 741 682 656 672
EF Entity Sql 741 697 666 687

2. 根据主键查找

Get Object By PK Get Object By PK with Relationship
Nhibernate 758 691
EF 521 350

posted on 2011-09-21 11:20  Teddy Li  阅读(8078)  评论(4编辑  收藏  举报