/**
* @param Benchmark $benchmark
* @param Target[] $targets
*
* @return array
*/
public function run(Benchmark $benchmark, array $targets)
{
$this->writer->open($benchmark->getInfo(), $targets);
$result = [];
foreach ($this->testData as $row) {
$test = new Test($row[0], $row[1], $row[2]);
$stats = [];
foreach ($targets as $target) {
try {
$stats[$target->getName()] = $benchmark->benchmark($target, $test);
} catch (\Exception $e) {
$stats[$target->getName()] = $e;
}
}
$result[$test->getName()] = $stats;
$this->writer->write($test, $stats);
}
$this->writer->close();
return $result;
}