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 |