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);
Что мне не хватает? Как я могу создать более подходящую среду для тестирования?