createSubjectFromMetadata() публичный Метод

public createSubjectFromMetadata ( SubjectMetadata $metadata )
$metadata PhpBench\Benchmark\Metadata\SubjectMetadata
Пример #1
0
 private function runBenchmark(ExecutorInterface $executor, RunnerContext $context, Benchmark $benchmark, BenchmarkMetadata $benchmarkMetadata)
 {
     if ($benchmarkMetadata->getBeforeClassMethods()) {
         $executor->executeMethods($benchmarkMetadata, $benchmarkMetadata->getBeforeClassMethods());
     }
     // the keys are subject names, convert them to numerical indexes.
     $subjectMetadatas = array_filter($benchmarkMetadata->getSubjects(), function ($subjectMetadata) {
         if ($subjectMetadata->getSkip()) {
             return false;
         }
         return true;
     });
     $subjectMetadatas = array_values($subjectMetadatas);
     foreach ($subjectMetadatas as $subjectMetadata) {
         // override parameters
         $subjectMetadata->setIterations($context->getIterations($subjectMetadata->getIterations()));
         $subjectMetadata->setRevs($context->getRevolutions($subjectMetadata->getRevs()));
         $subjectMetadata->setWarmup($context->getWarmup($subjectMetadata->getWarmUp()));
         $subjectMetadata->setSleep($context->getSleep($subjectMetadata->getSleep()));
         $subjectMetadata->setRetryThreshold($context->getRetryThreshold($this->retryThreshold));
         $benchmark->createSubjectFromMetadata($subjectMetadata);
     }
     $this->logger->benchmarkStart($benchmark);
     foreach ($benchmark->getSubjects() as $index => $subject) {
         $subjectMetadata = $subjectMetadatas[$index];
         $this->logger->subjectStart($subject);
         $this->runSubject($executor, $context, $subject, $subjectMetadata);
         $this->logger->subjectEnd($subject);
     }
     $this->logger->benchmarkEnd($benchmark);
     if ($benchmarkMetadata->getAfterClassMethods()) {
         $executor->executeMethods($benchmarkMetadata, $benchmarkMetadata->getAfterClassMethods());
     }
 }