Чтобы просмотреть усредненные данные по всем запускам XHprof, веб разработчику нужно создать файл total.php в директории нашего html-интерфейса, который будет парсить идентификаторы запусков и перенаправит нас собственно на усредненный отчет:
php
if (!$_GET['namespace']) {
exit('there is no namespace in $_GET parameter.');
}
$namespace = (string)$_GET['namespace'];
$path = ini_get('xhprof.output_dir');
$dir = dir($path);
$pattern = "/^([0-9a-z]{13})\.{$namespace}$/i";
while ($file = $dir->read()) {
if (preg_match($pattern, $file, $matches)) {
$files[] = $matches[1];
}
}
header(sprintf('Location: /xhprof_html?source=%s&run=%s', $namespace, implode(',', (array)$files)));
Теперь, при заходе на /total.php?namespace=, нам будет предоставлена информация о всех запусках XHprof для конкретного namespace.
В нашем тесте мы получили следующие результаты (кликабильно):

Drupal 6 Drupal 7 PressFlow
Ниже приведены скриншоты (кликабильно) с графического интерфейса. Да, все очень сложно и наверное ничего полезного, но смотрится красиво, некая схема работы Друпала изнутри =)

Drupal 6 Drupal 7 PressFlow
Данные графического интерфейса лучше использовать в случае профилирования не большого участка кода.
Выводы
Как видим наилучшие результаты показал Pressflow (среднее время генерации страницы 109 миллисекунды), на втором месте практически без отрыва - Drupal 6.20 (114 мс) и далеко на третьем месте Drupal 7.0 (238 мс).
Хотя на самом деле в боевом режиме Pressflow покажет намного лучшие результаты по сравнению с базовым Друпалом.
Так же интересный факт – с графических отчетов видно что в 7-ом Друпале нет «критических» точек (то есть отсутствуют красные элементы).
И да, эксперимент повторялся трижды на разных серверах и Drupal 7 везде с более чем двойным отрывом позади...