NHibernate和ADO.Net的性能對比相差有多大?
公司開年終技術討論會,因我提出NH的性能太低,經理決定進行一次測試。
當然,測試要合理、普遍、公平。
NH肯定比ADO.Net慢,這是不可否認了的,但究竟慢到什么程度,差別有多少,得有一個量來衡量。
我打算對一個表進行添刪改查每個操作做一千遍,為防止NH可能的緩存,打算在Select的Where條件使用隨機參數。似乎這樣對NH很不公平,但是如果不用,對ADO.Net又不公平……
打算構造一個對應于這個數據表的一個數據實體類,在ADO.Net中,使用 ID=int.Parse(dr["ID"].ToString()) Name=dr["Name"].ToString() 這樣的方式來創建一個對象(dr就是一個DataRow),同時使用NH來創建這個對象,做一下對比。
因為我們公司使用NH就用了創建實體類對象這個一個功能,所以,性能爭議非常大。
不知道大家有沒有好的測試數據或者測試方法和工具。
當然,測試要合理、普遍、公平。
NH肯定比ADO.Net慢,這是不可否認了的,但究竟慢到什么程度,差別有多少,得有一個量來衡量。
我打算對一個表進行添刪改查每個操作做一千遍,為防止NH可能的緩存,打算在Select的Where條件使用隨機參數。似乎這樣對NH很不公平,但是如果不用,對ADO.Net又不公平……
打算構造一個對應于這個數據表的一個數據實體類,在ADO.Net中,使用 ID=int.Parse(dr["ID"].ToString()) Name=dr["Name"].ToString() 這樣的方式來創建一個對象(dr就是一個DataRow),同時使用NH來創建這個對象,做一下對比。
因為我們公司使用NH就用了創建實體類對象這個一個功能,所以,性能爭議非常大。
不知道大家有沒有好的測試數據或者測試方法和工具。
我不相信神話,我只相信汗水!我不相信命運,我只相信雙手!

浙公網安備 33010602011771號