读书人

小弟我的StopWatch

发布时间: 2012-11-04 10:42:42 作者: rapoo

我的StopWatch

?

项目中一个功能很耗时,头儿让我看看是什么原因造成的,看能不能有什么调优。?

?

分析原因时得用数据支持吧, 也就是说看都有哪些因素造成了耗时,各贡献值具体是多少。顺着这个思路想起来和apache中common框架中的一个工具类org.apache.commons.lang.time StopWatch。?

?

它很好的模拟了秒表,通过它的split方法和getSplitTime方法,可以很好地看出各分步骤对性能下降的贡献值来。?

?

演示代码如下:

?

    MyStopWatch stWatch = new MyStopWatch();     stWatch.start();     step1();     stWatch.splitAndSaveTime();     System.out.println("Time consumed by step1: "+stWatch.getSplitTimeByStep());     step2();     stWatch.splitAndSaveTime();     System.out.println("Time consumed by   step2: "+stWatch.getSplitTimeByStep());    stWatch.stop();

?

?

输出结果顺眼多了:

Time consumed by step1: 63

Time consumed by step2: 2000

?

?

记在这里备查,分享,交流。

?

1 楼 kiki 2009-12-23 建议看下prof4j 2 楼 rmn190 2009-12-23 多谢提醒。 刚看完Perj4J, 再一次地感到了编程的魅力。

这个框架跟AOP的结合,跟自己想改造Log4J的想法不谋而合了。 自己动手又慢了。

谢谢!

3 楼 mercyblitz 2010-03-22 AOP就完事了

读书人网 >软件架构设计

热点推荐