PhpBench\Extensions\Dbal\Storage\Driver\Dbal\Loader::load PHP Метод

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

Load a SuiteCollection for the given query (constraint).
public load ( PhpBench\Expression\Constraint\Constraint $constraint ) : SuiteCollection
$constraint PhpBench\Expression\Constraint\Constraint
Результат PhpBench\Model\SuiteCollection
    public function load(Constraint $constraint)
    {
        $rows = $this->repository->getIterationRows($constraint);
        $context = new \ArrayObject([self::BENCHMARKS => [], self::SUBJECTS => [], self::VARIANTS => [], self::SUITES => []]);
        foreach ($rows as $row) {
            $suite = $this->getSuite($context, $row);
            $benchmark = $this->getBenchmark($context, $suite, $row);
            $subject = $this->getSubject($context, $benchmark, $row);
            $variant = $this->getVariant($context, $subject, $row);
            $iteration = new Iteration(0, $variant, [new TimeResult((int) $row['iteration.time']), new MemoryResult((int) $row['iteration.memory'], 0, 0)]);
            $variant->addIteration($iteration);
        }
        foreach ($context[self::SUITES] as $suite) {
            foreach ($suite->getVariants() as $variant) {
                $variant->computeStats();
            }
        }
        return new SuiteCollection($context[self::SUITES]);
    }