antifuchson Lobsters • Recommends
0:00 / 0:00
#commonlisp#allegrograph#garbagecollection
Escape from the Heap: Low-Level Programming in Common Lisp
Arthur Gleckler
890 subscribers • 2 videos on Hallway
- Recommended by 2 people: 1 on Hacker News and 1 on Lobsters.
- Presented by Ahmon Dancy, software engineer at Franz Inc.
Advanced. Deep dive for people who know the field.
16K views10 years ago2 recommendations
Programming languagesDatabases and dataLisp and ClojureMemory managementDatabase internals
Ahmon Dancy explains how Franz Inc. uses off-heap data structures in Common Lisp to manage memory outside the garbage collector.
by Ahmon Dancy, software engineer, Franz Inc. Bay Area Lisp and Scheme Meetup balisp.org/ Sat 7 Nov 2015 Franz HQ Oakland, CA Slides goo.gl/WIYWzl (Google Drive) Abstract Franz Inc has been selling Franz Lisp and Allegro Common Lisp for the last thirty years. In 2005, Franz entered the market for Semantic Graph Databases by introducing AllegroGraph. Our graph database is used by intelligence agencies, the army, and recently by pharmaceutical companies, financial institutions and hospitals. The visualization tool Gruff and the database AllegroGraph are written in Allegro Common Lisp. In the process of building the database we had to invent several new, mostly lower level technologies, one of them being out of the heap data structures. Sometimes data structures need to be persistent or shareable amongst separate processes. In these cases, alternatives to using the heap must be considered. In this talk we will explore the motivations for out-of-heap data structures. We will discuss some of the out-of-heap data structures that we've created in the course of developing our database product, such as lists, hash tables, and arrays. We will describe the tools and mechanisms that we used to implement them, including memory-mapped files, foreign structs, aligned pointers and direct memory accesses. Finally we will discuss the downsides of out-of-heap data structures and the constant struggle between abstractions and performance.Why it's here
2 people recommend thisWhat people say. Recommended as a great case study of low-level memory management and database engineering in Common Lisp.
Escape from the Heap: Low-Level Programming in Common Lisp (2015)
616con Hacker News • Recommends
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. link to this video
snakyon Hacker News • Mentions
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" link to this video
makutoon Hacker News • Mentions
On “Cakelisp: A Programming Language for Games”
…d 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 opinion, are largely still in that category. 0 link to this video…