人的大脑真的是自主计算的超级计算机,像前天一样,今天又是半宿没有睡着,半夜四点多醒了,然后就是在床上辗转反侧,到了五点的时候把老婆也吵醒了,不过还是一样,她很困,埋怨我不该把她闹醒,同时也不允许我起床用电脑,因为那样更吵。

这次同样还是性能问题,在成功的把性能提高20倍以后,我的大脑似乎并不满足,他还在寻找可以继续提高性能的地方,当然是有成果的了:

  • 性能的瓶颈在Aspect的查找(这个代码占了全部代码执行时间的一半,这个还是优化后的结果),自己实现了AspectSystem后,其实还可以以代理的方法作为Key把结果缓存起来。
  • 对Entity Bean之间的关系增加惰性初始化,因为其实很多时候代码使用的只是主要的那些属性(就测试用例代码而言),对其他的Entity Bean只是少数时候使用,为了保证每个测试用例之间是无关的,我必须每次都重新初始化,而且这个初始化的一系列的动作其实已经缓存了,但是在大部分情况下,这个关系没有必要初始化(这个从Entity Bean的一对多关系的BUG并没有导致我的测试用例全部失败就可以看出来),而且很多测试用例都是测试一部分的内容,下一个测试另外的部分,所以能够不做的尽量不做,实现也应该比较简单,增加一个BaseGetterAspect就可以了
  • 原来在决定那些方法是Setter的时候是遍历全部的方法,查找以set开头的,只有一个参数,并且类型是Wrapper类(Long、Integer、Boolean等)、String、Date、Collection、以及其他的Entity Bean,但是实际上从EJB的那些配置文件中已经解析到了所有的CMP的字段

大家常常说日有所思,夜有所梦,我做梦都在工作。但是平常做梦我都没有感觉(上大学以后到现在,每天的梦没有一个记得的),而这样的大脑自己高速运算推演把我也搞醒了。然后就是无法入睡,任凭大脑自己在那里写代码。

(Visited 93 times, 1 visits today)