Workerman
Amp
Our great sponsors
Workerman | Amp | |
---|---|---|
6 | 4 | |
10,937 | 4,131 | |
- | 0.6% | |
8.6 | 5.1 | |
9 days ago | 10 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.
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.
Amp
- Amphp 3.0.0
-
Is it possible that PHP will ever get async/await functions?
If you want async/await behavior in PHP, you have https://amphp.org/amp/.
-
Monthly "Post your Project" thread
We're working on Amp v3 making heavy use of fibers as shipped in PHP 8.1. We're releasing beta versions for each library currently, and we'd like to share our new amphp/pipeline library. If you're waiting for concurrent I/O without boilerplate, you can start testing now. We're happy about feedback on the new major releases!
-
PHP 8.1.0 Release Announcement
like the sibling comment said, web apps are written in Symfony/Laravel, but the framework abstractions with web apps might not paint you a clear picture of how the core language has improved. it will give you a good idea what it's like to build applications.
my favorite part of modern PHP is how nice writing libraries is. so it might not be what you're looking for, but I remember being pretty impressed with the code quality of the Amp PHP library recently. the v3 branch is 8.x only and (I believe) is targeting the Fibers feature just introduced in 8.1
https://github.com/amphp/amp/tree/v3
What are some alternatives?
Ratchet - Asynchronous WebSocket server
React - Event-driven, non-blocking I/O with PHP.
Swoole - 🚀 Coroutine-based concurrency library for PHP
RoadRunner - 🤯 High-performance PHP application server, process manager written in Go and powered with plugins
LaravelS - LaravelS is an out-of-the-box adapter between Laravel/Lumen and Swoole.
Elephant.io - Ça trompe énormément
Icicle - Icicle is a PHP library for writing asynchronous code using synchronous coding techniques
phpsocket.io - A server side alternative implementation of socket.io in PHP based on workerman.
Hoa WebSocket - The Hoa\Websocket library.