Число 1000 состоит из четырех цифр, поэтому для его печати требуется четыре символа. Четыре символа плюс перевод строки - пять символов.
Вы можете использовать xdebug - после установки вы можете активировать профилирование запросов различными способами, и вы получите профиль формата valgrind для каждого запроса. Загрузите это в WinCacheGrind , KCacheGrind или аналогичный и найдите, на что тратится все время!
, если у вас есть очень целевая область, на которую стоит обратить внимание, вы можете попробовать разбросать их вокруг своего кода:
$f_timeStart=microtime(true);
$f_timeLast=$f_timeStart;
error_log(sprintf("%'08.5f",(microtime(true)-$f_timeLast)).' - '.sprintf("%'05.2f",(microtime(true)-$f_timeStart)).' secs - '.'01 before xyz()'."\n", 3, '/var/tmp/my-errors.log');
$f_timeLast=microtime(true);
xyz();
error_log(sprintf("%'08.5f",(microtime(true)-$f_timeLast)).' - '.sprintf("%'05.2f",(microtime(true)-$f_timeStart)).' secs - '.'01 after xyz()'."\n", 3, '/var/tmp/my-errors.log');
$f_timeLast=microtime(true);
Вы можно использовать phpdebug для этой работы. Это расширение php.
Попробуйте XDebug ( http://www.xdebug.org/ ), вы можете запустить его с помощью параметра get во время сеанса отладки. Это создаст файлы cachegrind, которые вы можете проверить в KCacheGrind или WinCacheGrind (первый вариант намного лучше) ...
Я бы посоветовал не создавать свой собственный профайлер. В свободном доступе есть несколько превосходных профилировщиков, которые предоставят вам подробную информацию и простоту использования. Я думаю, что ваше лучшее вложение времени - это следующая комбинация. Мы используем это в компании, занимающейся веб-разработкой, в которой я работаю, и очень им довольны:
Zend Server стек php:
Вы можете использовать бесплатную версию Community Edition и выбирать, какие части стека вы хотите установить. Мы установили только часть PHP и полагаемся на Apache и MySQL из дистрибутива Linux. Zend Server предоставляет расширение отладчика, оптимизатор кода (для небольшого увеличения скорости), кеш байт-кода (для значительного увеличения скорости) и красивый графический интерфейс для управления настройками PHP. В коммерческой версии есть гораздо больше. Установка в Linux проста с помощью пакетов RPM или DEB.
Для использования расширения Debugger вам потребуется IDE:
Установите Zend Studio , которая представляет собой отличную среду разработки PHP (см. Страницу функций), которая упрощает отладку и профилирование. Нет необходимости создавать файлы cachegrind или другие многоступенчатые процессы, просто нажмите «Профиль» на панели инструментов Firefox, и Studio начнет профилирование этой страницы. Детализация и простота использования огромны.
Возможно, я говорю как продавец Zend, и, возможно, это звучит больше, чем вам нужно, но я просто разработчик PHP, который очень доволен инструментами, которые он использует. Я думаю, что пришло время начать использовать Studio, но комбинация делает его отличным, и Server даже немного ускорит ваш рабочий сервер. На мой взгляд, эта комбинация - просто лучшая среда разработки PHP, доступная в настоящее время. Посмотрите демонстрационные видео . Есть еще одно о профилировании.
Если вы работаете на OpenSolaris, подумайте о dtrace. Самое большое преимущество, наверное, в том, что вы можете прощупывать и другие слои, такие как Apache, Mysql. dtrace имеет низкие накладные расходы, и вы можете выборочно включить только те зонды, которые вы хотите контролировать.
.