krakjoe/parallel

A succinct parallel concurrency API for PHP8

C

1,594

708 commits

updated Oct 6, 2026

See the code

README

parallel

Linux AddressSanitizer Windows Coverage Status

A succinct parallel concurrency API for PHP 8

GoFundMe

Documentation

Documentation can be found in the PHP manual: https://php.net/parallel

Requirements and Installation

See INSTALL.md

Hello World

<?php
$runtime = new \parallel\Runtime();

$future = $runtime->run(function(){
    for ($i = 0; $i < 500; $i++)
        echo "*";

    return "easy";
});

for ($i = 0; $i < 500; $i++) {
    echo ".";
}

printf("\nUsing \\parallel\\Runtime is %s\n", $future->value());

This may output something like (output abbreviated):

.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
Using \parallel\Runtime is easy

Development

See CONTRIBUTING.md for guidelines on contribution and development (and debugging).

krakjoe/parallel

A succinct parallel concurrency API for PHP8

C

1,594

708 commits

updated Oct 6, 2026

See the code

README

parallel

Linux AddressSanitizer Windows Coverage Status

A succinct parallel concurrency API for PHP 8

GoFundMe

Documentation

Documentation can be found in the PHP manual: https://php.net/parallel

Requirements and Installation

See INSTALL.md

Hello World

<?php
$runtime = new \parallel\Runtime();

$future = $runtime->run(function(){
    for ($i = 0; $i < 500; $i++)
        echo "*";

    return "easy";
});

for ($i = 0; $i < 500; $i++) {
    echo ".";
}

printf("\nUsing \\parallel\\Runtime is %s\n", $future->value());

This may output something like (output abbreviated):

.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
Using \parallel\Runtime is easy

Development

See CONTRIBUTING.md for guidelines on contribution and development (and debugging).

Project health

Overall

5.0/10

Maintained

10/10

Code review

0/10
OpenSSF Scorecard

Significant stargazers

David CARLIER

265 followers · starred Feb 2019

Benjamin Eberlei

1,759 followers · starred Feb 2019

Simon Podlipsky

76 followers · starred Mar 2019

Théo FIDRY

376 followers · starred Feb 2019