浏览 2076 次
锁定老帖子 主题:动态代理的性能研究
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-17
最后修改:2010-01-29
说明: 说是测试,其实不是很严格, 所以测试数据也不是特别严谨的有统计意义的科学的结果. 测试环境: Mac OS10.5.5(MB404), eclipse3.4, jkd1.5, hibernate3.2 其实测试环境是一样的,所以测试数据应该是有可比性的 测试代码(好像这个说法很业余)如下: try { PersistentContextInitializer .init();////在初始化的时候,通过配置文件来控制是否需要代理 DBTransaction tx = PersistentContext.getDBTransactionFactory() .getCurrentDBTransaction(); tx.begin(); IDAO dao = PersistentContext.getDAOFactory().createDefaultDAO();////如果需要代理,则获取的是dao代理 int times = (int)Math.pow(10, 4); System.out.println("一共运行" + times + "次"); long begintime = System.currentTimeMillis(); for (int i = 0; i < times; i++) { dao.find("from GgSwjg where yxBz = 'N'").size(); } long endtime = System.currentTimeMillis(); System.out.print(((double)(endtime - begintime))/1000.0); tx.commit(); } catch (DAOException e) { tx.rollback(); e.printStackTrace(); } finally { } GgSwjg表中一共有1107条数据,其中dao.find(...)可以查询出10条记录 所使用的时间如下(单位:秒) 不使用代理: 47.785, 47.881, 47.407, 47.681 使用代理: 48.544, 48.362, 47.881, 49.077 从以上统计结果,我怎么也没看出来用代理与不用代理的区别在哪儿??? 也许真的没有 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |