~/talk

Turn Hours into Seconds- Concurrent Event Processing

Talkat Functional Conf 2017 · 2017-11-16..11-19· [elixir-and-erlang, concurrency]
speakerdeck:emilsoman
slides:none on file

Case study refactors a slow, lock-based ranking job into a message-driven pipeline using Flow and GenStage, replacing global locks with a producer queue and actor-style stages. The scoring becomes idempotent scoring per player, partitioned so each player always hits the same consumer, enabling caching and eager loading. Benchmarks: a 100-game batch drops from ~48s to 3s, 400 games from 6m to 15s, and 2,500 games from 114m to 55s, proving the pipeline both correct and massively faster.

AI-written summary · about

  1. 0:00Introduction
  2. 0:32Presentation Overview
  3. 4:08Company Problems
  4. 5:45Beta Problems
  5. 8:14Actor Model
  6. 8:48Message Puzzle
  7. 10:04Processes and OTP
  8. 11:30Jen Stages
  9. 15:52Flow Functions
  10. 18:05Flow is Concurrent
  11. 22:42Ranking Players
  12. 25:00Ranking Pipeline
  13. 34:39Benchmark
  14. 35:56Conclusion
~/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.