NBearLite+NBearMapping性能测试

Top  Previous 

本测试对ADO.NET, NBearV3, NHibernateV1, NBearLite, NBearLite+NBearMapping进行了常见的读写测试,分别测试了小数据两读取、大数据两读取和写操作,返回数据分别填充到DataSet或实体类。

 

测试结果:

 

Compare small read performance of ADO.NET, NBearV3, NHibernateV1, NBearLite, NBearLite+NBearMapping.

 

Repeat Time = 2

3       12      5       14      25

 

Repeat Time = 5

22      30      7     24      209

 

Repeat Time = 10

32      60      14     54      174

 

Compare big read performance of ADO.NET, NBearV3, NHibernateV1, NBearLite, NBearLite+NBearMapping.

 

Repeat Time = 2

121     357     240     131     234

 

Repeat Time = 5

312     793     559     293     491

 

Repeat Time = 10

567     1565    796     440     769

 

Compare write performance of ADO.NET, NBearV3, NHibernateV1, NBearLite, NBearLite+NBearMapping.

 

Repeat Time = 2

7       29      18     26      34

 

Repeat Time = 5

16      80      47     72      72

 

Repeat Time = 10

56      169     91     144     138

 

 

结果分析:

 

由于NBearLite提供了强类型查询语法,相对来说,在强类型查询语句解析上有一定的性能损失,但是损失并不大,相对于对开发效率和程序可维护性的提升还是值得的。NBearLite+NBearMapping方案由于使用NBearMapping填充IDataReader数据到Entity,有部分需要初始化NBearMapping类的性能损失,在少数据量查询时有少许影响,在大数据量查询时影响相对减少。总体而言,NBearLite相对于直接使用 ADO.NET直接查询执行时间多花2-3倍,相对于NHibernateV1性能基本相当。

一般来说,如果在应用程序构架中合理使用数据缓存,这点数据查询上的性能损失基本可以忽略不计。

 

查看更多信息及下载测试代码,请访问:http://www.cnblogs.com/teddyma/archive/2007/07/26/831646.html