<p><strong>Intro topic: Video Game Prices<br></strong><br></p><p><strong>News/Links:<br></strong><br></p><ul><li>Step one: Jump in the Lava - Abyssoft<ul><li><a href="https://youtu.be/WdadpHLAfdA?si=oXYnhB0EdkR_RaPE">https://youtu.be/WdadpHLAfdA?si=oXYnhB0EdkR_RaPE</a></li></ul></li><li>Scalable world models for continuous control<ul><li><a href="https://www.tdmpc2.com/">https://www.tdmpc2.com/</a></li></ul></li><li>Clever code is probably the worst code you could write - Engineer’s Codex<ul><li><a href="https://read.engineerscodex.com/p/clever-code-is-probably-the-worst">https://read.engineerscodex.com/p/clever-code-is-probably-the-worst</a></li></ul></li><li>A new, open source text-to-speech model called Dia has arrived to challenge ElevenLabs, OpenAI and more<ul><li><a href="https://venturebeat.com/ai/a-new-open-source-text-to-speech-model-called-dia-has-arrived-to-challenge-elevenlabs-openai-and-more/">https://venturebeat.com/ai/a-new-open-source-text-to-speech-model-called-dia-has-arrived-to-challenge-elevenlabs-openai-and-more/<br></a><br></li></ul></li></ul><p><br></p><p><strong>Book of the Show</strong></p><ul><li>Patrick<ul><li>The Muscle Ladder - Jeff Nippard<ul><li><a href="https://amzn.to/44Dznsz">https://amzn.to/44Dznsz</a></li></ul></li></ul></li><li>Jason<ul><li>Metaphysics of War<ul><li><a href="https://amzn.to/4jMjvZ5">https://amzn.to/4jMjvZ5<br></a><br></li></ul></li></ul></li></ul><p><br></p><p>Patreon Plug <a href="https://www.patreon.com/programmingthrowdown?ty=h">https://www.patreon.com/programmingthrowdown?ty=h</a></p><p><br></p><p><strong>Tool of the Show</strong></p><ul><li>Patrick<ul><li>Pokemon Trading Card Game Pocket</li></ul></li><li>Jason<ul><li>Phi-4<ul><li><a href="https://huggingface.co/spaces/microsoft/phi-4-multimodal">https://huggingface.co/spaces/microsoft/phi-4-multimodal<br></a><br></li></ul></li></ul></li></ul><p><br></p><p><strong>Topic: Memory Management<br></strong><br></p><ul><li>Motivation<ul><li>Avoid thrashing / crashes</li><li>Allocate resources efficiently</li><li>Keep high uptime</li></ul></li><li>Where<ul><li>OS Level<ul><li>Heap management</li><li>Virtual Memory</li></ul></li><li>Language/Compiler Level<ul><li>Cpp</li><li>Garbage collection</li><li>Ownership</li></ul></li></ul></li><li>Tools<ul><li>Instrumentation<ul><li>Export to Datadog / Grafana</li></ul></li><li>Python: psutil &amp; tracemalloc</li><li>Valgrind</li></ul></li><li>What to do when your program uses too much memory?<ul><li>Reduce data sizes<ul><li>Compression</li><li>References</li><li>Lazy initializer</li><li>Generators &amp; Back Pressure</li></ul></li><li>Ring buffers</li><li>Arena allocators</li><li>Disk based caching</li></ul></li></ul><p><br></p>
<strong>
  <a href="https://www.patreon.com/programmingthrowdown" rel="payment" title="★ Support this podcast on Patreon ★">★ Support this podcast on Patreon ★</a>
</strong>

Programming Throwdown

Patrick Wheeler and Jason Gauci

181: Memory Management

MAY 12, 2025106 MIN
Programming Throwdown

181: Memory Management

MAY 12, 2025106 MIN

Description

Intro topic: Video Game Prices

News/Links:


Book of the Show


Patreon Plug https://www.patreon.com/programmingthrowdown?ty=h


Tool of the Show


Topic: Memory Management

  • Motivation
    • Avoid thrashing / crashes
    • Allocate resources efficiently
    • Keep high uptime
  • Where
    • OS Level
      • Heap management
      • Virtual Memory
    • Language/Compiler Level
      • Cpp
      • Garbage collection
      • Ownership
  • Tools
    • Instrumentation
      • Export to Datadog / Grafana
    • Python: psutil & tracemalloc
    • Valgrind
  • What to do when your program uses too much memory?
    • Reduce data sizes
      • Compression
      • References
      • Lazy initializer
      • Generators & Back Pressure
    • Ring buffers
    • Arena allocators
    • Disk based caching


★ Support this podcast on Patreon ★