The Allocator: Size Classes, the Tiny Allocator, and Scan vs Noscan
Distinguish tiny packing and size classes and measure scan work separately from collection timing.
This chapter is part of the paid launch. The preview stays visible so readers can evaluate the exact scope before buying.
Core and Complete. Complete also includes the practical exam and free Go-version updates.
What this chapter teaches
Allocating N bytes uses N bytes, and every allocation costs the garbage collector the same amount to manage.
the small-object allocator rounds eligible requests to a size class: a 17-byte pointer-free allocation uses a 24-byte slot in this edition. Tiny allocations and large objects take different paths. Tiny (< 16-byte) pointer-free objects are packed several to a block by the tiny allocator. And — most importantly — an object the GC can see contains no pointers is marked noscan and never scanned during collection, while a pointer-containing object is scanned, its cost proportional to its pointers. So two same-size objects can cost the GC very differently, and a pointer-free representation can be dramatically cheaper to collect.
Unlock Chapter 15 and the rest of the course.
Core unlocks every paid chapter and lab. Complete also includes the practical exam and future Go-version updates.
Full course access with the complete mechanics curriculum.
Best-value launch option with the exam and free Go-version course updates.
No subscription or account required. Access is tied to the email entered at Stripe Checkout and can be restored by email.