请问webman有trueasync的底层吗? trueasync 和 Fiber差别大吗

happy321

为什么需要异步? 什么是异步以及为什么需要它?
https://true-async.github.io/zh/docs/components/introduction.html

协程支持Swoole Swow和Fiber三种驱动。

请问webman有trueasync的底层吗? trueasync 和 Fiber差别大吗?

48 2 0
2个回答

luoyue

trueasync最低要求php8.6+,要用上估计还得几年吧

  • luoyue 15小时前

    php8.5还没出的那会要求8.5+,出了就要求8.6+,没正式发布之前应该还会提升吧,所以这东西还是实验性的东西,不能用在生产环境

  • edmondx 11小时前

    不知道未来会怎样,但很可能稳定版本会在今年年底发布。至于它是否是官方版本,其实也没什么区别。

edmondx

在底层,Fiber 本质上是协程的容器,因此差异并不大。不过,TrueAsync 除了其他优化(例如减少上下文切换次数)之外,还使用了上下文池来最小化内存分配操作。

主要的区别在于,PHP 的所有 I/O 都通过异步引擎处理。在 Linux 上,这意味着文件 I/O 会通过 io_uring;在 Windows 上则使用线程池(这点与 Swoole 类似)。

与 Swoole 的区别在于,标准 I/O 的逻辑被重新设计。在实践中,这在同时处理 socket 和文件的混合 I/O 场景下,可以带来更平滑的 I/O 表现。

  • 暂无评论
🔝