那影响有多大呢?
为此我利用一个现有的WebService,试图去比较使用NHibernate和直接使用SqlClient之间的性能差异。
每一次的都从头到尾执行一次
SqlClient也一样从头到尾
执行100次的以上操作,NHibernate用了近6秒,直接使用SqlClient却用了不到2秒。NHibernate真的如此不济?
稍作思考,将NHibernate的过程分解了一下。首先使用一个类包装一下Configure
测试过程只执行以下几步
NHibernate的成绩一下子提高到只需1.3秒多些,只稍慢于SqlClient的1.2秒,同样是操作100次。代码上的差异主要是用Application保存DbConfigure,Web应用程序只主要在启动的时候执行DbConfigure的Configure方法
当然对于windows应用程序就可以省下这个心了。看来NHibernate的是相当值得使用!