private function getSubject(\ArrayObject $context, Benchmark $benchmark, $row) { $key = $row['run.uuid'] . $row['subject.benchmark'] . $row['subject.name']; if (isset($context[self::SUBJECTS][$key])) { return $context[self::SUBJECTS][$key]; } $subject = $benchmark->createSubject($row['subject.name']); $subject->setSleep($row['variant.sleep']); $subject->setOutputTimeUnit($row['variant.output_time_unit']); $subject->setOutputTimePrecision($row['variant.output_time_precision']); $subject->setOutputMode($row['variant.output_mode']); $context[self::SUBJECTS][$key] = $subject; $groups = $this->repository->getGroups($row['subject.id']); $subject->setGroups($groups); return $subject; }
private function processBenchmark(Benchmark $benchmark, \DOMElement $benchmarkEl, array $resultClasses) { foreach ($benchmarkEl->query('./subject') as $subjectEl) { $subject = $benchmark->createSubject($subjectEl->getAttribute('name')); $this->processSubject($subject, $subjectEl, $resultClasses); } }