我已經使用面向方面編程(PostSHARP)創建了自定義ORM工具的原型,並實現了持久性無知(編譯期之前)。現在我試圖找出與使用純DataReader和ADO.NET相比,它引入了多少開銷。我做了一個測試用例 - 在MS SQL Server 2008和MySQL Community Edition中插入,讀取,刪除數據(大約1000條記錄)。我使用純ADO.NET和我的自定義工具多次運行此測試。我期望的結果將取決於許多因素 - 內存,交換,CPU,其他進程,所以我跑了很多次的測試(20-40)。但結果真的出乎意料。這些案件之間的差異太大了。如果只有一些極端的價值觀,我可以忽略它們(可能會交換髮生的或不合適的),但它們非常不同,我相信我不能相信這種測試。幾乎有一半的時候,我的ORM比純ADO.NET的性能提高了10%,其他時間只有-10%。測試自定義ORM解決方案性能開銷 - 如何?
有什麼辦法可以讓這些測試可靠嗎?我沒有一臺功能強大的計算機,內存很多,但是也許我可以在這些測試中以某種方式使MS SQL和MySQL或ADO.NET儘可能一致。那麼如何記錄數量 - 哪個更可靠,使用少量記錄並運行更多次數或其他方式?
感謝您的提示。我發現MySql的結果比MS SQL更不一致,所以我想我必須從我的測試中排除MySQL。 – JustAMartin 2009-12-31 13:42:58