~/talk

Understanding 5 languages memory models (or most of them)

Talkat Devoxx France 2024 · 2024-04-17..04-19· [c-and-cpp, rust]
slides:none on file

Explains concrete memory behavior for C (manual malloc/free), Rust (compile-time ownership and borrowing that inserts frees), Python (reference counting plus a cycle detector), Go (a non-moving, stop-the-world three-color mark-and-sweep collector; one stack per goroutine; slice growth doubles underlying arrays) and Java (generational GC: Eden/Survivor/Old with young-generation frequent collections and promotion). Notes Rust and Go implementation details, why pointers to stack are invalid, and the surprising fact that Swift uses reference counting rather than generational GC.

AI-written summary · about

  1. 0:00Introduction to memory models
  2. 1:48Understanding stack memory
  3. 4:19Understanding heap memory
  4. 8:48Language-specific approaches
  5. 10:05Ownership in Rust
  6. 16:10Reference counting in Python
  7. 22:22Mark and sweep in Go
  8. 28:55Generational GC in Java
  9. 32:20Language comparison summary
  10. 35:18Q&A session
~/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.