~/talk

Lessons Learned: Porting a Streaming Data Pipeline from Scala to Rust.

Talkat Scale By the Bay 2023 · 2023-11-13..11-15· [rust]
name:Evan Chan
links:none on file
slides:none on file

Conviva ports a mission‑critical streaming pipeline (handling ~5 trillion events/day) from Scala/Akka to Rust and reports concrete wins: a prototype using careful data layouts and small‑vector techniques yields more than an order‑of‑magnitude speedup and about 12x less memory; the gateway port shows halves CPU vs Go and an order‑of‑magnitude memory drop. The new codebase implements a programmable DAG executor (dynamic operators, arenas, enum_dispatch, Tokio, custom actor layer) and proves both performant and production‑ready.

AI-written summary · about

  1. 0:00Introduction and background
  2. 1:49Why port to Rust
  3. 5:22Porting goals and architecture
  4. 6:50Rust journey timeline
  5. 9:00Performance results overview
  6. 10:26Bringing developers on board
  7. 14:05Performance and data structures
  8. 16:36Stream processing design
  9. 20:30Static vs dynamic dispatch
  10. 23:59Async patterns in Rust
  11. 26:15Tooling and ecosystem
  12. 27:41Lessons and conclusion
~/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.