Skip to content

Releases: reactphp-parallel/reactphp-parallel

2.1.0

29 May 22:10
bc5fb9d

Choose a tag to compare

2.1.0

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Dependencies ๐Ÿ“ฆ

2.0.0

11 Feb 20:06
c7e5e78

Choose a tag to compare

Fully reworked the public facing API to utilize fibers:

From:

<?php


use PackageVersions\Versions;
use React๏ฟฝventLoop\Factory;
use ReactParallel\Factory as ParallelFactory;
use ReactParallel\ObjectProxy\Generated\Proxies\WyriHaximus\Metrics\Registry as RegistryProxy;
use WyriHaximus\Metrics\Label;
use function React\Promise๏ฟฝll;
use WyriHaximus\React\Parallel\Finite;
use function WyriHaximus\iteratorOrArrayToArray;
use WyriHaximus\React\Parallel\ReturnThread;
use WyriHaximus\React\Parallel\FiniteWorker;

$options = getopt(
    '',
    [
        'iterations:',
        'delay::',
    ],
);

require dirname(__DIR__) . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';

$loop = Factory::create();
echo 'Loop: ', get_class($loop), PHP_EOL;

$parallelFactory = new ParallelFactory($loop);
$pool = $parallelFactory->lowLevelPool();

$loop->futureTick(static function () use ($pool, $options): void {
    foreach (range(0, 7) as $i) {
        $pool->run(static function (int $index, int $iterations, bool $delay): int {
            for ($i = 0; $i < $iterations; $i++) {
                if ($delay) {
                    usleep($i * 3.3);
                }
                echo "๏ฟฝ[" . (30 + $index) . ";" . (40 + $index) . "m.๏ฟฝ[0m";
            }
            return true;
        }, [$i, (int)$options['iterations'], isset($options['delay'])]);
    }
});

echo PHP_EOL, 'Loop::run()', PHP_EOL;
$loop->run();
echo PHP_EOL, 'Loop::done()', PHP_EOL;

To:

<?php

declare(strict_types=1);

use React๏ฟฝventLoop\Loop;
use ReactParallel\Factory as ParallelFactory;
use function React\Async๏ฟฝsync;

$options = getopt(
    '',
    [
        'iterations:',
        'delay::',
    ],
);

require dirname(__DIR__) . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';

echo 'Loop: ', Loop::get()::class, PHP_EOL;

$parallelFactory = new ParallelFactory();
$pool = $parallelFactory->lowLevelPool();

foreach (range(0, 7) as $i) {
    Loop::futureTick(async(static function () use ($i, $pool, $options): void {
        $pool->run(static function (int $index, int $iterations, bool $delay): bool {
            for ($i = 0; $i < $iterations; $i++) {
                if ($delay) {
                    usleep((int) ($i * 0.3));
                }
                echo "๏ฟฝ[" . (30 + $index) . ";" . (40 + $index) . "m.๏ฟฝ[0m";
            }
            return true;
        }, [$i, (int)$options['iterations'], isset($options['delay'])]);
    }));
}

echo PHP_EOL, 'Loop::run()', PHP_EOL;

2.0.0

  • Total issues resolved: 0
  • Total pull requests resolved: 28
  • Total contributors: 3

Dependencies ๐Ÿ“ฆ,Feature ๐Ÿ—

Dependencies ๐Ÿ“ฆ,Enhancement โœจ

Dependencies ๐Ÿ“ฆ

Enhancement โœจ

1.1.0

20 Nov 00:10
9fa0f47

Choose a tag to compare

Metrics

This release adds supports for metrics through wyrihaximus/metrics:

use React๏ฟฝventLoop\Factory as EventLoopFactory;
use ReactParallel\Factory;
use ReactParallel\Metrics;
use WyriHaximus\Metrics\Configuration;
use WyriHaximus\Metrics\InMemory\Registry;

$loop = EventLoopFactory::create();
$registry = new Registry(Configuration::create());
$factory = (new Factory($loop))->withMetrics(Metrics::create($registry));

1.1.0

  • Total issues resolved: 0
  • Total pull requests resolved: 4
  • Total contributors: 2

Dependencies ๐Ÿ“ฆ,JSON ๐Ÿ‘จโ€๐Ÿ’ผ,PHP ๐Ÿ˜

Dependencies ๐Ÿ“ฆ,PHP ๐Ÿ˜

Dependencies ๐Ÿ“ฆ,Documentation ๐Ÿ“š,JSON ๐Ÿ‘จโ€๐Ÿ’ผ,PHP ๐Ÿ˜

Dependencies ๐Ÿ“ฆ,Documentation ๐Ÿ“š,JSON ๐Ÿ‘จโ€๐Ÿ’ผ,MarkDown ๐Ÿ“,PHP ๐Ÿ˜,Source ๐Ÿ”ฎ,Tests ๐Ÿงช

1.0.0

08 Aug 20:35
319caae

Choose a tag to compare

1.0.0

  • Total issues resolved: 0
  • Total pull requests resolved: 10
  • Total contributors: 1

Documentation ๐Ÿ“š,MarkDown ๐Ÿ“

Dependencies ๐Ÿ“ฆ,JSON ๐Ÿ‘จโ€๐Ÿ’ผ,PHP ๐Ÿ˜

Dependencies ๐Ÿ“ฆ,JSON ๐Ÿ‘จโ€๐Ÿ’ผ,PHP ๐Ÿ˜,Source ๐Ÿ”ฎ

Dependencies ๐Ÿ“ฆ,JSON ๐Ÿ‘จโ€๐Ÿ’ผ,PHP ๐Ÿ˜,Source ๐Ÿ”ฎ,Tests ๐Ÿงช

PHP ๐Ÿ˜,Source ๐Ÿ”ฎ,Tests ๐Ÿงช

CI ๐Ÿšง,Configuration โš™,YAML ๐Ÿ„

Dependencies ๐Ÿ“ฆ,JSON ๐Ÿ‘จโ€๐Ÿ’ผ,NEON ๐Ÿฆนโ€โ™‚๏ธ,PHP ๐Ÿ˜,Source ๐Ÿ”ฎ,Tests ๐Ÿงช