haoxiaobo

从C到C++又到.net, 有一些心得, 和大家交流下...
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

做了一个简单的DLINQ性能测试

Posted on 2008-07-18 21:54  HAL9000  阅读(2173)  评论(27编辑  收藏  举报

只是一个简单的测试, 用了三种方法来做10万条记录的插入.  不过我没有测试拼10万条sql插入的效率.
应用在:dell inspiron 640M本本上跑的. 1.60双核CPU, 2G内存.  服务器是HP360, 8CPU, 4G内存. SQL2000数据库.
仅供参考.

一.每次都调用ctx的InsertOnSubmit方法把对象放入:
2008-7-18 14:29:55 开始生成100000个对象. 并直接放入ctx; 用时4秒
2008-7-18 14:29:59  开始SubmitChanges;                   用时3分26秒
2008-7-18 14:33:25  完成.

运行时内存占用了4M左右.

二. 先生成一个list, 最后把list调用ctx的InsertAllOnSubmit方法把全部对象放入:
2008-7-18 18:45:06 开始生成100000个对象. 并放入list 用时1秒
2008-7-18 18:45:07 开始把list全部对象加入ctx.  用时2秒
2008-7-18 18:45:09 开始执行submitChange  用时3分33秒. 应该是数据库的原因导致的慢了7秒. 个人认为不重要.
2008-7-18 18:48:42 完成.

运行时内存占用了4M左右.

三.每生成一个记录都调用ctx的insertOnSubmit, 并且都立即执行submitChanges. 每5000个报一次.
2008-7-18 19:41:28
2008-7-18 19:41:29 0
2008-7-18 19:42:08 5000    此5000条用 39 秒
2008-7-18 19:43:39 10000   此5000条用 91 秒 多了52
2008-7-18 19:46:02 15000   此5000条用143 秒 多了52
2008-7-18 19:49:17 20000   此5000条用195 秒 多了52
2008-7-18 19:53:25 25000   此5000条用248 秒 多了53
2008-7-18 19:58:29 30000   此5000条用304 秒 多了56
2008-7-18 20:04:28 35000   此5000条用359 秒 多了55
2008-7-18 20:11:22 40000   此5000条用414 秒 多了55
2008-7-18 20:19:14 45000   此5000条用472 秒 多了58
2008-7-18 20:28:05 50000   此5000条用531 秒 多了59
2008-7-18 20:37:50 55000   此5000条用585 秒 多了54
2008-7-18 20:48:35 60000   此5000条用645 秒 多了60
2008-7-18 21:00:38 65000   此5000条用723 秒 多了78
2008-7-18 21:13:01 70000   此5000条用743 秒 多了20
2008-7-18 21:26:01 75000   此5000条用780 秒 多了37
.... 等不及了, 关了程序了.                
运行时内存占用了4M左右.

越来越慢.