Escape from the Heap: Low-Level Programming in Common Lisp

Arthur Gleckler · 16K views · 2015 · 56:49

Open on YouTube

Functional programmingCompilers, interpreters & program analysisDatabases & storagetalk

Why Hacker News recommends it

Pointed to as practical talk on off-heap memory and database programming in Lisp by experienced engineers.

What it is

Ahmon Dancy of Franz Inc explains low-level programming in Common Lisp, including off-heap data structures used in AllegroGraph to manage memory outside the garbage collector.

Recommended by 1 HN commenters across 1 different months, 2016 to 2020.

What Hacker News said

Recommends 616c · 2016-09 · on “Racket – Lisp beyond Clojure”

No, sadly I have not. But I am very interested if I could afford such things and this was not a hobby. Ahmon Dancy talked about his experience doing DB programming for Allegro and they sound, as a group and a generalization, super competent from this talk, so much so I would love to have a reason as a cheap wannabe to use their graph DB. [this video]

Cites snaky · 2019-08 · on “Getting Started with Lisp in 2019”

There's talk about using off-the-heap data structures in one of the most successfull software piece written in Lisp, AllegroGraph. "Escape from the Heap: Low-Level Programming in Common Lisp" [this video]

Cites makuto · 2020-12 · on “Cakelisp: A Programming Language for Games”

While I can't speak for any experimental new garbage collectors, I did analyze the SBCL generational GC's implementation. I encourage anyone interested in performance to look over GC code and realize how much work they are doing. That GC in particular has to stop the world, traverse the entire fresh heap, guesses whether something is even a pointer (and can guess wrong, causing a memory leak!), and does all this at arbitrary times, unless you do non-idiomatic things like manage your own memory in preallocated arrays, or use C/asm-powered memory mapped buffers [0]. Nothing comes for free, and some domains can't pay the price for GC (and choose to spend those resources elsewhere). Games, in my