Making Our Future Better
summary
Describes concrete Scala 2.13 changes: a combined transformation object that is both callback and promise to cut allocations and indirection, aggressive link compression and unlinking, a parasitic execution context implemented via a batching executor for stack‑safe synchronous execution, and improved callback storage. Benchmarks show dramatic wins: 120–240% faster map, flatMap and recover often 3–7x faster, and common transformation chains about 2x faster, delivering millions of ops/sec on one core. Blocking is exposed via block constructs and configurable global execution context.
AI-written summary · about
chapters (17)
- 0:00Intro
- 2:52#define Future
- 3:17#define Promise
- 4:58The Future of our past
- 7:35Trivial example
- 8:32ExecutionContext-what?
- 12:16ExecutionContext.global
- 16:16BlockContext-what?
- 18:41When blocking is unavoidable
- 26:55Wishlist for Scala 2.13
- 29:32Optimization 101
- 30:51Chosen limitations
- 32:27Resulting recipe
- 33:45Solution: Transformation
- 34:28Solution: Improved Linking
- 35:32Solution: Improved Batching Executor
- 38:48Benchmarks run on
related talks
51mBifurcation Without Schism: The Scala Ecosystem
34mFinding a Way Out
48mWhat Orwell's 1984 Can Teach Us about Programming
41mFunctional Happy Hour
56mThings you thought you didn’t need to care about that have a big impact on your job
50mWhat Do You Think of My Scala? Let’s Talk Code Review!
41mBraving the Change: Recalibrating to New Realities
54mTech Truth: Agile Evolution & the Future of SW Engineering
