LINUX.ORG.RU

Профайлер для cron скрипта на PHP

 ,


0

2

Существует ли какой то профайлер что бы можно было получить статистику по каждой строчке скрипта в порядке убывания затраченного на неё времени? Пока что используя:

class Profiler {
	public function __construct() {
		$this->profiles = [];
	}
	
	public function begin($section) {
		if (!isset($this->profiles[$section])) $this->profiles[$section] = [
			"total_time" => 0.0,
		];
		$this->profiles[$section]["start_time"] = microtime(true);
	}
	
	public function end($section) {
		$this->profiles[$section]["total_time"] += microtime(true) - $this->profiles[$section]["start_time"];
	}
}
$profiler = new Profiler();

удалось ускорить скрипт 8 раз. Но приходится писать $profiler->begin(«section»); ... $profiler->end(«section»);

Хотелось бы иметь что то типа что бы запустить `profiler ./script.php script args` и получить статистику автоматически не засоряя код скрипта. Даже для кода ассемблера такое есть. Проприетарщину не предлагать.


Ответ на: комментарий от no-such-file

Так она только по функциям вроде показывает статистику. А мне лень разбивать сплошное месиво кода на функции.

iluha16
() автор топика

По строчкам — нет. Да и задачи такой не возникает при нормальном программировании. Функции не должны быть портянками на несколько экранов.

KRoN73 ★★★★★
()
Ответ на: комментарий от no-such-file

Чем xdebug не устраивает?

Я бы предпочёл xhprof/tideways. Эти, в отличие от xdebug, не тормозят работу в 10 раз и их из-за этого можно под боевой нагрузкой гонять.

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.