Swoole, Roadrunner and FrankenPHP as drivers Requires Laravel 10 and PHP 8.1 in 2.x Supercharge performance of Laravel Hot reload support Additional features in Swoole driver: Concurrent Tasks Ticks and Intervals The Octane Cache Swoole Tables What is Laravel Octane?
are blocking That means the workers can’t be reused during I/O I/O bound concurrency depends on process number 100 concurrent requests need 100 processes Cost for context switch in processes is expensive QPS drops dramatically if I/O is slow Blocking I/O is extremely inefficient The only way to increase QPS is to scale your machines
No, it’s high risky! All components in Laravel are not designed for coroutine States among coroutines will be a mess in Laravel There’s no official announcement to support coroutine yet Need to consider 3rd packages and backward compatibility How about RoadRunner and FrankenPHP? Event if Laravel supports coroutines within single request , the worker is still occupied until the end of all I/O operations
6,000 stars on GitHub and more than 350 contributors since 2019 All components natively support coroutines, and strictly follow PSR standards (Some components in Laravel don’t) Developers can easily build high-concurrency applications with out-of-the-box support for non-blocking I/O. Strong community engagement and consistent development progress What is Hyperf?
Laravel artisans enjoy the high performance of Hyperf while maintaining familiar Laravel development practices Adopted same directory structure as Laravel Migrated bunch of packages from Laravel and support coroutine Reduce the learning cost for a new framework Share the same package ecosystem with Hyperf What is Laravel Hyperf? https://github.com/swooletw/laravel-hyperf
Hyperf components Remove states from Laravel packages Keep compatibility with Hyperf if possible Package can be used in Hyperf as well Adapter for bridging components between Hyperf Share the same message protocol with Laravel