Upgrade to Pro — share decks privately, control downloads, hide ads and more …

EventLoopの実装から考えるFiberの位置付けについて/Fiber and Async Request

EventLoopの実装から考えるFiberの位置付けについて/Fiber and Async Request

非同期処理によるAPIリクエストのサンプル実装を通して、Fiberが求められてきた背景を説明します。最終的に、それがEventLoopにつながっていきます。

Ryo Tomidokoro

December 22, 2021
Tweet

More Decks by Ryo Tomidokoro

Other Decks in Technology

Transcript

  1. Fiber を理解する必要はあるか? よくある解説 これがイヤな場合 -> Fiber を理解しないといかん。 これでOK な場合 ->

    Fiber を実行基盤にもつフレームワークが登場した時に詰む -> つまり、Fiber を理解しないといかん。 なんとなく非同期処理ができるっぽいやつ。ライブラリ作成者の 為の機能、一般開発者は気にしなくて良い。 “ “
  2. なぜ、5 秒かかるのか? 1 + 1 + 1 + 1 +

    1 = 5 だから。 PHP の組み込み関数はブロッキング。つまり、処理をブロックする HTTP Request -> 応答待ちで1 秒待つ 解消するためには、応答を待たずに次のLoop に入らないといけない。 HTTP Request -> 応答を待たずにLoop -> 結果が帰ってきたら出力
  3. EventLoop とは? Swoole, ReactPHP, AmPHP などは、それぞれ EventLoop を実装し ている。 なぜ、彼らは

    EventLoop を実装する? EventLoop とは?? 並行処理をするのに、何故 EventLoop が必要なのか?