private function drawIterations(IterationCollection $iterations) { $subject = $iterations->getSubject(); $this->output->write("[2K"); // clear the whole line $this->output->write(PHP_EOL); $this->output->write("[2K"); // clear the whole line $this->output->write("[1A"); $sigma = 2; $bins = 16; if ($iterations->isComputed()) { $times = $iterations->getZValues(); $stats = $iterations->getStats(); $freqs = Statistics::histogram($times, $bins, -$sigma, $sigma); } else { $stats = array('stdev' => 0, 'mean' => 0, 'max' => 0); $freqs = array_fill(0, $bins + 1, null); } $this->output->write(sprintf('#%-2d (σ = %s ) -%sσ [', $subject->getIndex(), $this->timeUnit->format($stats['stdev']), $sigma)); $this->drawBlocks($freqs, $stats); $this->output->write(sprintf('] +%sσ <comment>%s</comment>', $sigma, $iterations->isComputed() ? $this->formatIterationsShortSummary($iterations) : '')); $this->output->write(PHP_EOL); }