Lavoiesl\PhpBenchmark\Benchmark::formatResults PHP Method

formatResults() public method

Format the results, rounding numbers, showing difference percentages and removing a flat time based on the benchmark overhead
public formatResults ( array $results ) : array
$results array array($name => array('time' => 1.0))
return array array(array('Test' => $name, 'Time' => '1000 ms', 'Perc' => '100 %'))
    public function formatResults(array $results)
    {
        uasort($results, function ($a, $b) {
            if ($a['time'] == $b['time']) {
                return 0;
            } else {
                return $a['time'] < $b['time'] ? -1 : 1;
            }
        });
        $min_time = INF;
        $min_memory = INF;
        foreach ($results as $name => $result) {
            $time = $result['time'];
            $time -= $this->base_results['time'];
            // Substract base_time
            $time *= 1000;
            // Convert to ms
            $time = round($time);
            $time = max(1, $time);
            // min 1 ms
            $min_time = min($min_time, $time);
            $results[$name]['time'] = $time;
            $min_memory = min($min_memory, $results[$name]['memory']);
        }
        $output = array();
        foreach ($results as $name => $result) {
            $output[] = array('Test' => $name, 'Time' => $result['time'] . ' ms', 'Time (%)' => Util::relativePerc($min_time, $result['time']), 'Memory' => Util::convertToSI($result['memory']), 'Memory (%)' => Util::relativePerc($min_memory, $result['memory']));
        }
        return $output;
    }