webutil1.0版本下,t400电脑,一些性能问题

来源:互联网 发布:淘宝运营自我介绍 编辑:程序博客网 时间:2024/06/04 18:36

没有缓存区,所有对象来源于数据库全查询,遍历反射创建对象的方式

10,000次son级查询三次,耗费 6451 6403 6541毫秒(以下单位全部为毫秒)


在dao层根据id保存对象的引用,在biz层根据对象保存其子对象的id(设定了一个过期时间,以及选择是否开启缓存的参数,在过期前所有的查询将走缓存,而不会再去数据库),这样两级缓存后

10,000,000次 son级查询三次: 1671 1704 1724


特别的,单纯的创建对象,从自己的15个属性的user类,或者仅7个属性的cate类,或者arraylist,hashmap,int[]

创建100亿 10,000,000,000个对象 需要的时间均为5400-5500左右

伴随add(1);操作后,arraylist需要12000左右

random的nextint 1亿次需要1977,10亿次20280,100亿次 200628 nextint 的性能掩盖了long和int循环的差距


特别的第二点,以上全部采用普通for循环测试,在上一条的测试中,100亿采用的是long i 去循环,这也产生了很严重的性能问题,只是减少10倍变成10亿改用int循环

上一条测试的时间瞬间降低至50左右,同等的10条lang的循环,需要580


不严谨小结:

1.创建对象和操作对象属性的性能相近,为1亿条5-7毫秒

2.缓存区建立后数据库查询,为1千万条1700毫秒

3.没有缓存区,全部走数据库查询,然后new对象再拿对象,为1万条6500-6700毫秒

4.long型循环下标的性能比int下标差10倍多,白亏的,

5.循环创建对象,主要的性能在循环上,因为裸100亿循环也要5500毫秒...

6.而带上对象,甚至是对象赋值,依旧也只要5550..


就这样吧,码项目去了



原创粉丝点击