Go offline with the Player FM app!
Memory Management with Stephen Dolan
Manage episode 316712153 series 2784495
Stephen Dolan works on Jane Street’s Tools and Compilers team where he focuses on the OCaml compiler. In this episode, Stephen and Ron take a trip down memory lane, discussing how to manage computer memory efficiently and safely. They consider trade-offs between reference counting and garbage collection, the surprising gains achieved by prefetching, and how new language features like local allocation and unboxed types could give OCaml users more control over their memory.
You can find the transcript for this episode on our website.
Some links to topics that came up in the discussion:
- Stephen’s command-line JSON processor, jq
- Stephen’s Cambridge dissertation, “Algebraic Subtyping”, and a protoype implementation of mlsub, a language based on those ideas.
- A post from Stephen on how to benchmark different memory allocators.
- A Jane Street tech talk on “Unboxed Types for OCaml”, and an RFC in the OCaml RFC repo.
- A paper from Stephen and KC Sivaramakrishnan called “Bounding Data Races in Space and Time”, which is all about a new and better memory model for Multicore OCaml.
- Another paper describing the design of OCaml’s multicore GC.
- The Rust RFC for Higher-ranked trait bounds.
25 episodes
Manage episode 316712153 series 2784495
Stephen Dolan works on Jane Street’s Tools and Compilers team where he focuses on the OCaml compiler. In this episode, Stephen and Ron take a trip down memory lane, discussing how to manage computer memory efficiently and safely. They consider trade-offs between reference counting and garbage collection, the surprising gains achieved by prefetching, and how new language features like local allocation and unboxed types could give OCaml users more control over their memory.
You can find the transcript for this episode on our website.
Some links to topics that came up in the discussion:
- Stephen’s command-line JSON processor, jq
- Stephen’s Cambridge dissertation, “Algebraic Subtyping”, and a protoype implementation of mlsub, a language based on those ideas.
- A post from Stephen on how to benchmark different memory allocators.
- A Jane Street tech talk on “Unboxed Types for OCaml”, and an RFC in the OCaml RFC repo.
- A paper from Stephen and KC Sivaramakrishnan called “Bounding Data Races in Space and Time”, which is all about a new and better memory model for Multicore OCaml.
- Another paper describing the design of OCaml’s multicore GC.
- The Rust RFC for Higher-ranked trait bounds.
25 episodes
All episodes
×

1 Building Tools for Traders with Ian Henry 1:19:39


1 Finding Signal in the Noise with In Young Cho 59:45


1 The Uncertain Art of Accelerating ML Models with Sylvain Gugger 1:06:22


1 Solving Puzzles in Production with Liora Friedberg 53:50


1 From the Lab to the Trading Floor with Erin Murphy 1:03:35


1 Performance Engineering on Hard Mode with Andrew Hunter 55:34


1 A Poet's Guide to Product Management with Peter Bogart-Johnson 1:02:17


1 The Future of Programming with Richard Eisenberg 59:37


1 Swapping the Engine Out of a Moving Race Car with Ella Ehrlich 1:00:28


1 State Machine Replication, and Why You Should Care with Doug Patti 1:12:09




1 What Is an Operating System? with Anil Madhavapeddy 1:01:11


1 Building a UI Framework with Ty Overby 1:00:04


1 Writing, Technically with James Somers 1:00:58


Welcome to Player FM!
Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.