From Jason Turner
Watch on YouTube

Summary

This episode examines the claim that std::bad_alloc exceptions are obsolete due to modern operating systems' memory overcommitment. Through practical demonstrations on different systems, Jason shows two distinct scenarios: on 64-bit systems, memory overcommitment often leads to process termination when physical memory is exhausted, but on 32-bit systems, std::bad_alloc occurs when address space constraints or memory fragmentation prevent allocation. He also points out that specialized memory contexts like GPUs still rely on allocation failure handling.

Resources

Tags