%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home2/vacivi36/code/vendor/rector/rector/vendor/symplify/easy-parallel/src/
Upload File :
Create Path :
Current File : //home2/vacivi36/code/vendor/rector/rector/vendor/symplify/easy-parallel/src/ScheduleFactory.php

<?php

declare (strict_types=1);
namespace RectorPrefix202209\Symplify\EasyParallel;

use RectorPrefix202209\Symplify\EasyParallel\ValueObject\Schedule;
/**
 * Used from
 * https://github.com/phpstan/phpstan-src/blob/9124c66dcc55a222e21b1717ba5f60771f7dda92/src/Parallel/Scheduler.php
 */
final class ScheduleFactory
{
    /**
     * @param array<string> $files
     */
    public function create(int $cpuCores, int $jobSize, int $maxNumberOfProcesses, array $files) : Schedule
    {
        $jobs = \array_chunk($files, $jobSize);
        $numberOfProcesses = \min(\count($jobs), $cpuCores);
        $numberOfProcesses = \min($maxNumberOfProcesses, $numberOfProcesses);
        return new Schedule($numberOfProcesses, $jobs);
    }
}

Zerion Mini Shell 1.0