doujian3132 2014-07-29 14:43
浏览 35

Zend_View_Helper_Partial - 性能测量

I am trying to extend the zend partial helper to make it a little faster for my own needs. The code of how I do that is not important at this point.

I have created a unit test which acts weird and I can not understand the reason for it

this is the code:

    $garpTimeStart = microtime(true);
    for ($i = 0; $i < 999; $i++) {
        $this->_createOneGarpView();
    }
    $garpTimeTotal = microtime(true) - $garpTimeStart;

    $zendTimeStart = microtime(true);
    for ($i = 0; $i < 999; $i++) {
        $this->_createOneZendView();
    }
    $zendTimeTotal = microtime(true) - $zendTimeStart;

    $deltaPerformance = $zendTimeTotal - $garpTimeTotal;
    $this->assertTrue($deltaPerformance > 0);

ok, basically I create 1000 zendView objects and 1000 of my own garpView objects and I track the time for creating each of these.

Here comes the tricky part:

Simply by switching the order of the creation of the zend and garp views the test will fail. So, in other words, whichever I create first, will be created faster! (still, with a obvious difference in performance between the two)

So this in about 4 out of 5 times will fail

    $zendTimeStart = microtime(true);
    for ($i = 0; $i < 999; $i++) {
        $this->_createOneZendView();
    }
    $zendTimeTotal = microtime(true) - $zendTimeStart;

    $garpTimeStart = microtime(true);
    for ($i = 0; $i < 999; $i++) {
        $this->_createOneGarpView();
    }
    $garpTimeTotal = microtime(true) - $garpTimeStart;

    $deltaPerformance = $zendTimeTotal - $garpTimeTotal;
    $this->assertTrue($deltaPerformance > 0);

What am I missing? how can I create a more suitable environment to test this in?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
    • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
    • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
    • ¥15 运动想象脑电信号数据集.vhdr
    • ¥15 三因素重复测量数据R语句编写,不存在交互作用
    • ¥15 微信会员卡等级和折扣规则
    • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
    • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
    • ¥15 gdf格式的脑电数据如何处理matlab
    • ¥20 重新写的代码替换了之后运行hbuliderx就这样了