~/talk

Streams – Below the Surface

Talkat Voxxed Days CERN 2026 · on Tuesday, 2026-02-10· [java, compilers-and-language-design]
links:none on file
slides:none on file

Explains how Java Streams build a pipeline from spliterator through intermediate ops to a terminal op, why Gatherers (Java 23) let you write custom intermediate operations and must choose greedy vs non‑greedy and parallelizable or not, and why structure matters: limit/short‑circuiting or tryAdvance vs forEachRemaining can kill parallelism, iterate is unparallelizable, boxing and sort/distinct force big buffers, and a happy case shows parallel speedup 10× while a microbenchmark shows ~20 MB pipeline overhead.

AI-written summary · about

  1. 0:00Introduction
  2. 2:49Why streams are loved
  3. 6:22Stream performance
  4. 8:29How streams work
  5. 10:56Stream pipeline execution
  6. 14:08Pipeline optimization
  7. 16:54Memory and boxing costs
  8. 21:50Memory overhead
  9. 23:36Parallel streams
  10. 26:47Parallel stream pitfalls
  11. 28:54Java 23 gatherers
  12. 31:44Custom gatherers
  13. 35:35Common stream mistakes
  14. 37:20Avoid boxing
  15. 39:50Iterate limitations
  16. 41:58Complex pipeline behavior
  17. 44:30Gatherers limitations
  18. 45:53Best practices
  19. 46:55Q&A
~/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.