Haohappy的专栏--PHP5研究中心

PHP5研究中心 研究专业PHP技术,传播全球最新PHP动态 ,推广国内PHP企业应用

陈浩ID:Haohappy2004
566522次访问,排名64好友1人,关注者26
make ur life better..
Haohappy2004的文章
原创 167 篇
翻译 0 篇
转载 0 篇
评论 506 篇
Haohappy的公告
我的Blog主要关于PHP/Java WEB开发。欢迎讨论:

Email & MSN:


所有文章均为Haohappy原创或翻译,需要转载请通过Email与我联系


我的网站:
PHPEye开源社区
phpeye.com

我的新书:


《Programming PHP》中文版第二版,陈浩(Haohappy)、胡丹、徐景(RainX)译,电子工业出版社出版,2007年4月上市)

网上书店购买地址:
当当网(dangdang.com)
互动出版网(china-pub.com)
第二书店(dearbook.com)
华储网(huachu.com.cn)
蔚蓝书店(welan.com)

本书 配套论坛  勘误系统

常用参考手册:

最近评论
PrideRock:谢谢关注
jodynet:CSDN最近两年的改版,不知道改成什么样子。我已经好久没登陆CSDN看文章了。整个网站很乱,惨不忍睹来形容一点也不为过。
jiangtao:谢谢对我们的建议和意见。
wysea:呵呵,真巧,下午在CSDN上看到这篇文章,被打击的不行,这里HAOHAPPY就出头说话了,自信心又起来了! 谢谢!
ModelKingChina:深有同感,当时看到这篇文章只想拿块砖头拍编辑的脑袋.CSDN作为国内非常有影响力的IT综合站,在对待语言方面是不应该有所偏见的,如此简单的e文,本不应该翻译错误,更多的我想是编辑曲意的翻译. 语言与平台之争向来一个老大难问题,但CSDN却无论如何也不应该卷入的.
文章分类
收藏
    相册
    Blogs
    Fantasy Soft(RSS)
    Freeman的Blog
    hosander的专栏
    PHPEye.com
    web2.0 focus(RSS)
    开发视界[专家专栏](RSS)
    歪脖·坑(RSS)
    存档
    订阅我的博客
    XML聚合  FeedSky

    原创 PHP程序加速探索[5]--脚本执行速度测试2收藏

    新一篇: PHP程序加速探索[6]--代码优化

    现在我们看看另一个测试脚本运行时间的方法--使用Benchmark_Timer类来测试一段代码执行所消耗的时间及这一段代码中每次调用与下一次调用间的时间。

    benchmark2.php


    require_once 'Benchmark/Timer.php';
    $timer = new Benchmark_Timer();

    $timer->start();
    $timer->setMarker('start_myFunction');

    for(
    $i=0; $i<10; $i++){
        myFunction($argument);
    }
    $timer->setMarker('end_myFunction');
    $timer->stop();
    $profiling = $timer->getProfiling();

    echo
    '

    Time elapsed: ' .
    $timer->timeElapsed('start_myFunction','end_myFunction') .'

    ';
    echo
    '
    '; 
    print_r($profiling);
    echo
    '
    ';
    exit;

    function
    myFunction($var) {
    static
    $counter = 0;
    // do something
    echo $counter++ . ' ';
    }
    ?>

    首先,建立一个benchmark timer对象$timer。然后调用start()方法,表示开始计时。 SetMaker()方法用来标记要测试的代码段。MyFunction()函数在循环中被调用,表示一段要执行的代码(当然实际中不会这么简单)。然后再用$timer对象的setMarker()方法标记程序执行终点。分析信息用getProfiling()来获取。在两个标记间程序执行消耗的时间用timeElapsed()方法计算出来(就像例子中的循环)。最后,用print_r()输出信息到屏幕:

    0 1 2 3 4 5 6 7 8 9

    Time elapsed: 0.000594

    Array
    (
        [0] => Array
            (
                [name] => Start
                [time] => 1085730111.27175200
                [diff] => -
                [total] => 1085730111.271752
            )
     
        [1] => Array
            (
                [name] => start_myFunction
                [time] => 1085730111.27203800
                [diff] => 0.000286
                [total] => 1085730111.272038
            )
     
        [2] => Array
            (
                [name] => end_myFunction
                [time] => 1085730111.27263200
                [diff] => 0.000594
                [total] => 1085730111.272632
            )
     
        [3] => Array
            (
                [name] => Stop
                [time] => 1085730111.27271800
                [diff] => 0.000086
                [total] => 1085730111.272718
           )
    )

    通过这种方法,你可以在代码中设置大量时间段标记,获取每段代码执行时消耗的时间,很容易可以看出到底是哪一部份的代码影响了整个程序的运行效率。然后开始着手对这部份代码进行改进。

    用以上两种方法,你可以找出代码中最影响速度的部份代码。另外还可以用来对优化后的代码进行测试,看看到底执行速度提高了多少。通过测试->优化->测试->优化这样不断循环,你可以最终确定提供最佳效率的代码。

    发表于 @ 2004年08月24日 20:09:00|评论(loading...)|编辑

    旧一篇: PHP程序加速探索[4]--测试--脚本执行速度测试

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © Haohappy