coroutine
Workerman
coroutine | Workerman | |
---|---|---|
4 | 6 | |
58 | 10,958 | |
- | - | |
4.7 | 8.3 | |
11 months ago | 22 days ago | |
PHP | PHP | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
coroutine
-
Differences among Asynchronous PHP libraries: ReactPHP | amphp | Parallel (pThreads) | Swoole | Fibers | Spatie
Yes, you missed one at https://symplely.github.io/coroutine/
- Asynchronous PHP — Multiprocessing, Multithreading & Coroutines - Diving Laravel
- A Look at the New PHP 8.1 Fibers Feature
Workerman
-
Scaling to ~15K requests per second with Java – Part 1
I remember a consulting gig where they were pushing 50k requests per second with PHP in a 2018 laptop by using this framework https://github.com/walkor/workerman
In a real application, with database connection pooling and auth sessions, it went down to 15k requests/s.
And that was PHP7. PHP8 introduced JIT so it's probably significantly faster these days and hopefully fully typed.
-
Build Warehouse and Store Management System - Pt. 4 - Final
The code above is an example of creating a websocket server from the usage example on the workerman/workerman page on github.
- Integrating a websocket interfase into a REST API?
-
Exotic/unknown frameworks?
Workerman
- Running PHP code in parallel, the easy way
-
Asynchronous PHP — Multiprocessing, Multithreading & Coroutines - Diving Laravel
That's cute. I managed to get 100k requests per second on a single i7 CPU this week using standard blocking code with Workerman. Zero added cognitive load. It also does DB pooling, workers, sockets and consumes relatively lower memory than other solutions.
What are some alternatives?
async-php-8-io-http - True asynchronous PHP I/O and HTTP without frameworks, extensions, or annoying code. Uses PHP Fibers introduced in PHP 8.1
Ratchet - Asynchronous WebSocket server
Symfony2 Components - The Symfony documentation
React - Event-driven, non-blocking I/O with PHP.
php-ulid - A PHP port of alizain/ulid with some minor improvements.
RoadRunner - 🤯 High-performance PHP application server, process manager written in Go and powered with plugins
Swoole - 🚀 Coroutine-based concurrency library for PHP
LaravelS - LaravelS is an out-of-the-box adapter between Laravel/Lumen and Swoole.
parallel - An advanced parallelization library for PHP, enabling efficient multitasking, optimizing resource use, and application responsiveness through multiple CPU threads.
Elephant.io - Ça trompe énormément
async - Easily run code asynchronously
Amp - A non-blocking concurrency framework for PHP applications. 🐘