Zend_View_Helper_Partial - показатель эффективности

Я пытаюсь расширить Zend частичный помощник, чтобы сделать его немного быстрее для моих собственных нужд. Код того, как я это делаю, на данном этапе не важен.

Я создал модульный тест, который действует странно, и я не могу понять причину этого

это код:

    $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);

Хорошо, в основном я создаю 1000 объектов ZendView и 1000 моих собственных объектов garpView и отслеживаю время для создания каждого из них.

Здесь начинается сложная часть:

Простое переключение порядка создания представлений zend и garp провалит тест. Другими словами, что бы я ни создавал первым, оно будет создано быстрее! (тем не менее, с очевидной разницей в производительности между двумя)

Так что это примерно в 4 из 5 раз не получится

    $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);

Что мне не хватает? Как я могу создать более подходящую среду для тестирования?

0 ответов

Другие вопросы по тегам