Engineering · 7 units · Free
Memory to GC
Two programs find the same live objects. Why can one do more memory work?
Start the courseWhat you’ll build
- A bounded allocator and a cache-line model.
- A tracing collector and a page-oriented scheduler, with traces from your own code.
- A controlled Go experiment and an explanation you can challenge on a different workload.
Before you start
Go functions, loops, slices and tests. Read and use the visuals in your browser; download the project to code on your computer with Node.js 22+ and Go 1.22+. No account, API key or paid tools.
Time: roughly 8–12 hours over several sittings, including projects. This is an author estimate; first-time human completion time and difficulty have not been measured.
Browser notes and predictions stay on this device. Go submissions stay in your downloaded project. Imported traces are not uploaded. Local checks cover finite cases; written reasoning, human learning gains and physical-device accessibility remain unverified.
Same roots.
Same reachable objects.
Different traversal order.
Which cost actually changes?
Write the collector.
Inspect its trace.
Try to disprove your explanation.