Programming Throwdown

Patrick Wheeler and Jason Gauci


Intro topic: Video Game Prices

News/Links:


Book of the Show


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