CS107 Assignment 6: Heap Allocator
Assignment by Julie Zelenski, with modifications by Nick Troccoli based on an idea from Randy Bryant & David O'Hallaron (CMU) This assignment gives you a chance to implement a core piece of functionality that you've relied on all quarter - a heap allocator! This assignment will help you: You've been using the heap all quarter, and now you get to go under the hood and build your own version of malloc, realloc, and free! The key goals for a heap allocator are: There are a wide variety of designs that can meet these goals, with various tradeoffs to consider. Correctness is of course essential, but is the next priority to conserve space or improve speed? A bump allocator can be crazy-fast but chews through memory with no remorse. Alternatively, an allocator might pursue aggressive recycling and packing to squeeze into a small memory footprint, but execute a lot of instructions to achieve it. An industrial-strength allocator aims to find a sweet spot without sacrificing one goal for the oth
CS107 Assignment 6: Heap Allocator Assignment 6: Heap Allocator --> Due: Thu Dec 7 11:59 pm Late submissions accepted until Sat Dec 9 11:59 pm Assignment by Julie Zelenski, with modifications by Nick Troccoli based on an idea from Randy Bryant & David O'Hallaron (CMU) Learning Goals This assignment gives you a chance to implement a core piece of functionality that you've relied on all quarter - a heap allocator! This assignment will help you: appreciate the complexity and tradeoffs in implementing a heap allocator further develop your pointer and debugging skills profile your code to find inef
Explore this link on the map →related reading
- CS107 Assignment 6: Heap Allocatorweb.stanford.edu
- CS107E Assignment 4: Stack and Heapcs107e.github.io
- abseil / Performance Hintsabseil.io
- Untangling Lifetimes: The Arena Allocator - by Ryan Fleurydgtlgrove.com
- CS107 Assignment 3: A Heap of Funweb.stanford.edu
- Allocators | zig.guidezig.guide
- Memory Allocation in Go | Melatoninghiant3223.github.io
- Syscall implementation | CS 162 HW 4cs162.org
- abseil / Performance Hintsabseil.io
- CS107 Assignment 4: Into the void*web.stanford.edu
- Adrian Sampson: Flattening ASTs (and Other Compiler Data Structures)cs.cornell.edu
- What is Ownership? - The Rust Programming Languagedoc.rust-lang.org