SNMP_PP和SNMPSharpNet的性能比较
2011-01-15 20:40
169 查看
先介绍下背景:
大约3年以前开始使用SNMP++,去年由于上层是C#、C++调试麻烦等问题,转向其他snmp库,比对了SNMP++,NetSnmp和SnmpSharpNet,最终因为SnmpSharpNet用起来的方便就选了它,随后逐渐完善了自己负责的软件的相应数据访问层。
去年另一个项目的软件仍使用snmp++的库,并且重编译过(可能进行了某些改动),该软件的目标之一是替代我现在使用的软件!天哪,我不允许替代我的软件的代码性能低于我,所以做了下效率的测试。
测试数据在公司...很遗憾这里列不出来了...
测试环境:
PC网卡直连设备(这个设备是我们自己的产品,嵌入式SNMP部分使用Agent++)
使用Wildpackets Etherpeek直接抓包测试。
使用C++编写测试程序,调用snmp_pp.dll,Get设备object id 10次。
使用C#编写测试程序,调用snmpsharpnet.dll,Get设备object id 10次。
测试程序均为release编译。
测试结果:
C++情况下第一个完整GET操作好事0.047s,C#为0.0468
随后的时间均短一些,但C#的timetick居然在多次循环中存在数值为0!即第一个GET0.0468,第二个0,第三个0,第四个非0的数值...不明白为什么,所以采用抓包工具进行更客观的测试。
结果显示,C#情况下第一个Get的Request包和最后一个Response包的时间间隔约为0.3s,C++情况下在1.4-1.5s之间。
注意到当时C++情况下命令行有打印一些其他信息,故在snmp_pp源码中删除打印信息的语句,重新测试,时间在1.3s左右。
测试GetNext操作,数据和Get基本相同。
(我注意了下数据包中的源端口,C++和C#都是每包+1,也就是自动以下一个可用端口作为源端口)
据说CLR在数据库、Socket、文件处理方面比C++强,这个我没测试过,不过现在在SNMP的基本库来看,还是SNMPSharpNet高一筹。
所以...我还是用SnmpSharpNet吧
大约3年以前开始使用SNMP++,去年由于上层是C#、C++调试麻烦等问题,转向其他snmp库,比对了SNMP++,NetSnmp和SnmpSharpNet,最终因为SnmpSharpNet用起来的方便就选了它,随后逐渐完善了自己负责的软件的相应数据访问层。
去年另一个项目的软件仍使用snmp++的库,并且重编译过(可能进行了某些改动),该软件的目标之一是替代我现在使用的软件!天哪,我不允许替代我的软件的代码性能低于我,所以做了下效率的测试。
测试数据在公司...很遗憾这里列不出来了...
测试环境:
PC网卡直连设备(这个设备是我们自己的产品,嵌入式SNMP部分使用Agent++)
使用Wildpackets Etherpeek直接抓包测试。
使用C++编写测试程序,调用snmp_pp.dll,Get设备object id 10次。
使用C#编写测试程序,调用snmpsharpnet.dll,Get设备object id 10次。
测试程序均为release编译。
测试结果:
C++情况下第一个完整GET操作好事0.047s,C#为0.0468
随后的时间均短一些,但C#的timetick居然在多次循环中存在数值为0!即第一个GET0.0468,第二个0,第三个0,第四个非0的数值...不明白为什么,所以采用抓包工具进行更客观的测试。
结果显示,C#情况下第一个Get的Request包和最后一个Response包的时间间隔约为0.3s,C++情况下在1.4-1.5s之间。
注意到当时C++情况下命令行有打印一些其他信息,故在snmp_pp源码中删除打印信息的语句,重新测试,时间在1.3s左右。
测试GetNext操作,数据和Get基本相同。
(我注意了下数据包中的源端口,C++和C#都是每包+1,也就是自动以下一个可用端口作为源端口)
据说CLR在数据库、Socket、文件处理方面比C++强,这个我没测试过,不过现在在SNMP的基本库来看,还是SNMPSharpNet高一筹。
所以...我还是用SnmpSharpNet吧
相关文章推荐
- SNMP_PP和SNMPSharpNet的性能比较
- ASP.NET 2.0 - 控件系列(三) - GridView与Repeater控件性能比较
- 转载网上已篇关于linq to sq,entityframework,ado.net性能比较的文章
- 谈谈个人对SnmpSharpNet的实践经验
- asp.net Web form和asp.net MVC的一次性能比较
- ado.net entity framework 查询性能比较
- ASP.NET比较常用的26个性能优化技巧
- ASP.NET比较常用的26个性能优化技巧
- snmpsharpnet的Trap实例
- .NET Remoting与ASP.NET Web服务性能比较
- ASP.NET比较常用的26个性能优化技巧
- (2010-08-20).NET中三种集合迭代方法的性能比较
- ADO.NET、NBear和NHibernate和IbatisNet简单读写性能比较
- ASP.NET文件下载各种方式比较:对性能的影响、对大文件的支持、对断点续传和多线程下载的支持
- ASP.NET比较常用的26个性能优化技巧
- ASP.NET Web 服务、企业服务和 .NET Remoting 的性能比较(有一些指标)
- ASP.NET比较常用的26个性能优化技巧
- 再续NBear性能测试:ADO.NET, NBearV3, NHibernateV1, NBearLite, NBearLite+NBearMapping性能比较[2008/1/3修订:NBearLite更新至v1.0.1.0整合NBearMapping版地测试结果]
- mybatis.net 和 dapper.net 性能比较
- ADO.NET、ODP.NET、Linq to SQL、ADO.NET Entity 、NHibernate在Oracle下的性能比较