Designing Beyond Behaviours, (...)
summary
Two libraries solve concrete problems: NQ implements an ordered M-producer M-consumer queue that avoids data races by using ETS-based compartments and incremental ticketing counters, preserving production order and replacing a single GenServer hotspot; microbenchmarks against a GenServer and a single-partition npq show the ETS approach performs better in the tested laptop case. Envision encodes JSON-like documents into a binary format and uses continuation-passing style to reuse match context (fewer binary survivors), supporting 15+ field types and yielding measurable decoding speedups across document sizes; both libraries are open source.
AI-written summary · about
chapters (14)
- 0:00Introduction
- 0:42Apollonia and Sisters overview
- 1:49NQ queue library design
- 3:40GenServer queue bottleneck
- 8:00Ticketing system for queues
- 10:28NQ vs GenServer benchmarks
- 11:37Performance considerations
- 11:59Envision binary decoding
- 14:46Erlang binary efficiency
- 17:21Binary pattern matching optimization
- 20:10CPS for binary decoding
- 23:23CPS vs direct style benchmarks
- 24:29When to use CPS
- 24:51Q&A
related talks
30mThe Design of Everyday APIs
42mDesigning with Elixir
44mTyped Design Patterns for the Functional Era
21mDesigning in the age of the 10x engineer
49mQt Quick Best Practices and Design Patterns
04mLightning Talks – Ley Missailidis
39mUsing PL Theory to Make People Happier
11mBeyond Conversation: Why Documents Transform Natural Language into Code
