Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove blocking I/O from ReactPHP implementation #8550

Merged

Conversation

lcobucci
Copy link
Contributor

The existing ReactPHP implementation doesn't leverage the async capabilities, creating wrong results when benchmarking things.

This optimises the ReactPHP app, allowing things to be a bit more comparable.

LibUv is the most optimised loop implementation for ReactPHP. This
alters the setup to allow us to properly compare things.

Signed-off-by: Luís Cobucci <[email protected]>
This just makes development more efficient as we avoid downloading
composer and all the dependencies when we only want to propagate updates
to the PHP files.

Signed-off-by: Luís Cobucci <[email protected]>
This makes us rely on the automatic execution of the Loop and removes
usage of deprecated classes.

Signed-off-by: Luís Cobucci <[email protected]>
@lcobucci
Copy link
Contributor Author

@WyriHaximus please feel free to correct things even further 👍

frameworks/PHP/reactphp/app.php Show resolved Hide resolved
frameworks/PHP/reactphp/server.php Outdated Show resolved Hide resolved
frameworks/PHP/reactphp/app.php Show resolved Hide resolved
frameworks/PHP/reactphp/reactphp.dockerfile Show resolved Hide resolved
Although this isn't a huge deal, it speeds up development as we don't
need to wait docker to trigger SIGKILL.

Signed-off-by: Luís Cobucci <[email protected]>
Just as AMPHP, ReactPHP requires asynchronous implementations for it to
work as expected. When using PDO we will block the process when
establishing the DB connection and sending queries.

This replaces the implementation with a fully async MySQL client, also
cleaning removing unnecessary extensions from the image.

Signed-off-by: Luís Cobucci <[email protected]>
@lcobucci lcobucci force-pushed the remove-blocking-io-from-reactphp branch from 2a52437 to 4f128f8 Compare November 18, 2023 22:05
@joanhey
Copy link
Contributor

joanhey commented Nov 29, 2023

Please update to PHP 8.3

@lcobucci
Copy link
Contributor Author

lcobucci commented Dec 2, 2023

Please update to PHP 8.3

Sure, will do around next week

Signed-off-by: Luís Cobucci <[email protected]>
@lcobucci
Copy link
Contributor Author

@joanhey a6657b7 handles the PHP 8.3 upgrade 👍

@NateBrady23 NateBrady23 merged commit c1a04f6 into TechEmpower:master Dec 11, 2023
3 checks passed
@lcobucci lcobucci deleted the remove-blocking-io-from-reactphp branch December 11, 2023 19:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants