~/talk

Understanding 5 languages memory models (or most of them

Talkat Codemotion Madrid 2026 · 2026-04-20..04-21· [concurrency]
slides:none on file

Compares how C, Rust, Python, Go and Java actually place and reclaim memory: C leaves heap allocation to malloc/free, Rust enforces ownership and borrowing so moves vs lends prevent use-after-free, Python uses reference counting with cycle detector so most frees are immediate but cycles need a secondary pass, Go uses mark-and-sweep per goroutine stacks without compaction, and Java adds generational mark-and-sweep with compaction to reduce GC frequency; notes Rust vectors double capacity (1,2,4...) and surprising fact that Swift uses ref counting.

AI-written summary · about

  1. 0:00Introduction
  2. 1:04Heap and stack basics
  3. 10:53Manual memory management
  4. 11:56Rust ownership model
  5. 18:41Python reference counting
  6. 23:37Go mark and sweep
  7. 28:29Java generational GC
  8. 31:17Language memory models overview
  9. 33:25Book and resources
  10. 34:07Q&A on performance
~/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.