OTP20 officially introduced dirty schedulers. In this talk, we'll cover why they're part of OTP and what function they perform. Using Rust NIFs, we'll compare schedulers and dirty schedulers to illustrate the trade-offs between scheduler types. By the talk's end, it should be apparent why dirty schedulers are part of OTP and how and when you should consider using them.
28. “Due to heroic efforts by Steve Vinoski, Rickard Green, and
Sverker Eriksson, we have an (experimental) so-called
dirty-scheduler (DS) NIF API in the Erlang runtime, which
has been somewhat stable since release 17.3.”
https://medium.com/@jlouis666/erlang-dirty-scheduler-overhead-6e1219dcc7