~/talk

Zero-Cost Async IO

Talkat Rust Latam 2019 · 2019-03-29..03-30· [rust]
slides:none on file

Rust async/await compiles async functions into tight state machines so generated futures live as a single heap allocation, run on a pull-based executor/reactor loop, and avoid per-callback allocations. The API uses the Pin API to allow references across await points by preventing moves, enabling truly zero-cost abstraction semantics: no global runtime cost and performance as good as hand-written state machines. Pin is stabilized, futures API is imminent, full async/await stabilization targets the coming months.

AI-written summary · about

  1. 0:00Introduction
  2. 1:09Async/await in Rust
  3. 4:21Zero-cost abstraction
  4. 5:46Async IO history in Rust
  5. 9:24Removed green threads
  6. 10:47Futures library solution
  7. 12:58Callback problems
  8. 14:03Pull-based futures
  9. 16:52Zero-cost futures
  10. 18:16Benchmarking futures
  11. 20:05Combinators to async/await
  12. 21:51Futures usability issues
  13. 23:17Error messages and borrowing
  14. 26:50Pinning self-referential futures
  15. 29:17Pinning enables async code
  16. 30:04Async/await status
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.