$stamp) {
$min = round(min($stamp['time']) * 1000.0, 4);
$avg = round(array_avg($stamp['time']) * 1000.0, 4);
$max = round(max($stamp['time']) * 1000.0, 4);
$sum = array_sum($stamp['time']) * 1000.0;
$row = [
'name' => $name,
'min' => $min,
'max' => $max,
'avg' => $avg,
'num' => count($stamp),
'sum' => $sum,
];
$rows[] = $row;
}
$st = '';
switch($type) {
case self::DISPLAY_HTML:
$st = '
Profiler result';
foreach($rows as $row)
$st .= '' . $row['name'] . ' | '. '' . round($row['sum'], 4) . ' | ' . $row['min'] . ' | ' . $row['avg'] . ' | ' . $row['max'] . ' | ' . $row['num'] . ' | ' . round($row['sum'] / $p, 2) . '% |
';
$st .= '
|
';
$st .= 't-all: | ' . round($i, 4) . ' | |
---|
';
break;
case self::DISPLAY_TEXT:
$st = "Profiler result\n";
$st .= "NAME SUM MIN AVG MAX C PC\n";
$st .= "----------------------------------------------------------------------------------------------------------\n";
foreach($rows as $row)
$st .= sprintf("%-40s\t%10.3f\t%10.3f\t%10.3f\t%10.3f\t%4d\t%3.2f%%\n",$row['name'], $row['sum'], $row['min'], $row['avg'], $row['max'], $row['num'], round($row['sum'] / $p, 2));
$st .= "----------------------------------------------------------------------------------------------------------\n";
$st .= 't-all: ' . round($i, 4) . "\n";
break;
}
if (empty($target))
echo $st;
else
file_put_contents($target, $st);
}
}