~/talk

Why you (don't) want to write you own memory buffer recycler?

Talkat GeeCON 2019 · 2019-05-15..05-17· [java]
links:none on file
slides:none on file

A custom object pool for recycled byte buffers replaces per-request string and array allocations in a log-to-Elasticsearch plugin, using Jackson to write into buffers and Netty primitives for comparison. Using a Netty composite buffer would avoid most work, but the implemented recycler cuts accumulated freed memory from roughly 80GB → 11GB, lowers GC pressure (average pauses from ~5.5ms to ~3–4ms for 1KB logs), and scales to about 5,000 messages/s in tests.

AI-written summary · about

  1. 0:00Intro
  2. 1:15Lock for JT elasticsearch
  3. 1:30Object pooling
  4. 1:43Birthday party example
  5. 2:08Batch drug delivery
  6. 3:15Architecture
  7. 4:33High memory allocation
  8. 6:23Allocation triggers
  9. 7:12Demo
  10. 8:00Resize strategies
  11. 8:35Reallife example
  12. 8:51The architecture
  13. 10:18The perfect buffer
  14. 11:05Writing from scratch
  15. 11:47Creating your own buffer
  16. 12:22Expectations
  17. 13:48Overhead
  18. 16:00Flat Graph Results
  19. 18:16Scaling Up
  20. 18:40Results
  21. 18:59Was it worth it
  22. 20:22Can you handle 100k allocations per second
~/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.