Koichi Sasada

Fiber in the 10th year

RubyKaigi2017
http://rubykaigi.org/2017/presentations/ko1.html

10 years ago I introduced new class Fiber into Ruby 1.9 as (semi-)coroutine.

Fiber is a powerful tool to make generators and self managing context switching scheduler. Recently we receive a new proposal "auto-Fiber" to use Fiber aggressively in asynchronous operations.

In this talk, I will introduce a Fiber itself and a brief histroy of Fiber implementations. What is coroutine and semi-coroutine? Why we need to require 'fiber' library to use Fiber#transfer? How to implement fibers and how to speed up them? Also I introduce new proposal "auto-Fiber" and this discussion.

RubyKaigi 2017