Teddy's Knowledge Base

再续NBear性能测试:ADO.NET, NBearV3, NHibernateV1, NBearLite, NBearLite+NBearMapping性能比较[2008/1/3修订:NBearLite更新至v1.0.1.0整合NBearMapping版地测试结果]

本测试对ADO.NET, NBearV3, NHibernateV1, NBearLite, NBearLite+NBearMapping进行了常见的读写测试。本测试证实了try兄之前对NBearV3的性能问题的测试,应该是正确的。NBearV3的3.7X版本,在升级过程中引入一定的性能损失,该性能损失在3.6X应该不存在,我会检查真正的原因。(7/26修订:NBearV3的性能问题已修复,是因为一个很小的代码语句造成的。)本测试同时证实,NBearLite及NBearLite+NBearMapping的ORM方案,平均性能有很大改善。

下载测试程序:
TestNBearPerformance.zip 
(7/26修订:代码已更新为修正NBearV3性能问题后的版本)
2008/1/3修订:NBearLite更新至v1.0.1.0整合NBearMapping版本)

(运行该示例前请修改App.config中的connectionstring,并在tempdb数据库中执行sql目录中的db.sql和data.sql初始化测试数据)

测试内容:

本测试分别测试了小数据两读取、大数据两读取和写操作,返回数据分别填充到DataSet或实体类。


以下是测试结果:

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

Repeat Time = 2
3       12      5       10      80

Repeat Time = 5
32      27      7       24      63

Repeat Time = 10
29      57      14      49      462

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

Repeat Time = 2
133     1571    253     110     185

Repeat Time = 5
264     3962    565     282     489

Repeat Time = 10
557     7948    983     557     981

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

Repeat Time = 2
9       35      25      30      38

Repeat Time = 5
27      94      55      83      96

Repeat Time = 10
58      188     115     166     184


7/26修订:修正NBearV3性能问题后的测试结果如下(虽然NBearV3还是比其他组件略差,但是,没有原来那么夸张):


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



2008/1/3修订:NBearLite更新至v1.0.1.0整合NBearMapping版的测试结果:

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

Repeat Time = 2
11      8       4       20      21

Repeat Time = 5
9       22      5       41      100

Repeat Time = 10
11      80      11      79      202

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

Repeat Time = 2
66      185     426     66      141

Repeat Time = 5
169     507     343     166     303

Repeat Time = 10
337     985     640     354     598

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

Repeat Time = 2
124     23      25      24      35

Repeat Time = 5
14      120     52      91      54

Repeat Time = 10
35      181     106     128     157



--

请使用NBearV3的朋友下载最新的NBearV3.7.2.6版

欢迎从NBear.org下载NBearLite最新版本。

posted on 2007-07-26 08:15 Teddy's Knowledge Base 阅读(4466) 评论(27)  编辑 收藏 所属分类: Ent. App. Dev.Tech. ThinkingNBear

评论

#1楼  2007-07-26 08:28 Michael Wang [未注册用户]

咋没Ibatis呢?   回复  引用    

#2楼 [楼主] 2007-07-26 08:31 Teddy's Knowledge Base      

@Michael Wang
Ibatis既然直接用sql查询,性能则应该和ADO.NET比较,和NH和NBear比不公平。   回复  引用  查看    

#3楼  2007-07-26 08:46 RexTse      

提升果然是很明显.
兄弟你也起来得太早了吧,亦或一宿没睡?   回复  引用  查看    

#4楼  2007-07-26 08:57 Mekk [未注册用户]

一直在用NBear v3.7,期望Teddy改善v3.7的性能:)   回复  引用    

#5楼  2007-07-26 08:59 woooooooooooooooolin [未注册用户]

菜鸟路过弱问一个:
NBearV3, NHibernateV1, NBearLite, NBearLite+NBearMapping 等等对数据库的操作是怎么操作的?没用ADO.NET那些对象吗@_@
thks~   回复  引用    

#6楼  2007-07-26 09:06 ╃小〥斌╄      

今天一早下了NBear3.7 晚上回去学习下。 顺便问一下 , NBear 里提供了可以自己直接写SQL 取结果集的接口了吗?   回复  引用  查看    

#7楼  2007-07-26 09:39 申健      

Teddy 你好,我一直在用NBear,对你的努力工作表示感谢!
有个问题想请教一下,可以对目前几种.net下的ORM项目在何种场合下应用做一个汇总吗?谢谢!   回复  引用  查看    

#8楼  2007-07-26 10:17 机票王 [未注册用户]

特价机票2-5折,国际特价更优 特价机票一网打尽,逸程网.   回复  引用    

#9楼  2007-07-26 11:58 随风流月      

DLinq 一直都没有出现过。。   回复  引用  查看    

#10楼  2007-07-26 13:32 henry      

加入HFSoft.Data的测试结果出来了,由于组件存在bug没有参与写操作.
http://www.cnblogs.com/henryfan/archive/2007/07/26/832160.html   回复  引用  查看    

#11楼  2007-07-26 14:01 补丁      

想拿NBear2.5出来也比比....一直用着,以前的项目中也有很多用2.5的
想想算了,费那个劲的....teddy干脆直接告诉我,nbear2.5大约在个什么水准上
跟lite比如何?   回复  引用  查看    

#12楼  2007-07-26 14:55 try      

@补丁
2.5系列的据说,不是很稳定.有时候会出问题.
应该和现在的lite设计理念上有很大差距.   回复  引用  查看    

#13楼  2007-07-26 15:11 补丁      

我不是说设计理念,是指性能相比lite如何
不稳定?也用2.5进行过大数据处理,这倒没注意
你指的不稳定是指什么?   回复  引用  查看    

#14楼  2007-07-26 15:51 菌哥      

应该说2.5可能还有bug吧,因为当时teddy搞v3了,后来2.5就问得少了   回复  引用  查看    

#15楼  2007-07-26 18:00 try      

建议Teddy使用dottrace分析下.   回复  引用  查看    

#16楼  2007-07-26 23:05 hope [未注册用户]

不理解 为什么测试整体 nhiabernate 这么优秀呢 我以前用 nhibernate感觉慢的够呛 我才换的 后来用spl感觉速度还不错 现在用nbear感觉速度不慢啊   回复  引用    

#17楼  2007-07-27 12:51 阿不      

与原先那个测试的结果还是有一段距离。teddy还能优化吗?   回复  引用  查看    

#18楼  2007-07-27 15:07 @源 [未注册用户]

今天看到这个测试,令人有些沮丧,原本想使用本框架的,但这个性能的确不好,Teddy还能优化吗?
我建议,先将3.7的版本稳定后、将性能提高后,再考虑进行V4的开发,否则,永远是新的框架,永远不稳定,这叫谁敢在项目中使用呀,Teddy,三思呀!不要操之过急。   回复  引用    

#19楼 [楼主] 2007-07-27 15:16 Teddy's Knowledge Base      

@@源
其实这样的测试是有很大局限性的,程序的整体性能瓶颈往往并不会在查询性能本身,随意不用太过在意哪个更好,只要相差不大就好。在更多情况下,框架提供的功能对开发效率的改善要比一点性能损失更值得。

v4会基于v3中最稳定的部分进行加强和创新,且会比v3有更大的测试强度,保证v4正式版比v3更稳定。   回复  引用  查看    

#20楼  2007-07-27 17:26 阿不      

@源
如teddy所言,其实我们不必太在意这样的测试结果。在一个B/S应该中,真正一次查询大数据量的应该还是比较少见的。
况且,虽然从数量级上看,是好几倍。但是从真正的执行时间上来看,还是可以接受的。   回复  引用  查看    

#21楼  2007-07-27 18:22 @源 [未注册用户]

@Teddy's Knowledge Base
不知V4大约在什么时间能出正式版
  回复  引用    

#22楼  2007-07-27 18:50 @源 [未注册用户]

@Teddy's Knowledge Base
老大,这段时间我正在评估我的项目是否使用本框架,从你的回复来看,V4肯定比V3稳定,性能更好,但我目前的项目不可能等到V4出来后才使用,若用V3又担心与V4的兼容性,难呀!   回复  引用    

#23楼  2007-07-28 01:08 nic [未注册用户]

没什么意思

DLinq, my dream...   回复  引用    

#24楼  2007-09-03 10:33 点滴 [未注册用户]

@hope
同意hope,我感觉也是,不知测试结果为何如此奇怪   回复  引用    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-01-03 15:34 编辑过
"五向定位"职业成长路线公开课(上海、南京、大连)
Google站内搜索


相关链接: