Chapter 12Concurrency Primitives MeasuredPaid chapter

Goroutines — Stack Growth, Scheduling Cost, and Preemption

Measure the real cost of goroutine creation, stack growth, and scheduling. Understand goroutines as a resource with allocation and GC implications.

Launch paywall

This chapter is part of the paid launch. The preview stays visible so readers can evaluate the exact scope before buying.

Included in

Core, Complete, and Team. Complete also includes the practical exam and free Go-version updates.

Preview

What this chapter teaches

Common belief

Goroutines are free; spawn as many as you like.

What actually happens

each is cheap but not free — a stack allocation, scheduling metadata, and growth-copy events that show up in allocation profiles at high creation rates or deep stacks.

Mechanisms covered
Scheduling is cooperative at function prologues and preemptive via async signals (Go 1.14+). Latency depends on signal delivery and runqueue depth.
Creation cost: goroutine struct + stack + scheduling metadata; visible in allocation profiles at high rates.
benchtraceexperiment
Email-first checkoutUnlock Chapter 12

Unlock Chapter 12 and the rest of the course.

Start with your email, then continue to Lemon Squeezy checkout. Core unlocks the paid chapters, Complete adds the exam and free Go-version updates, and Team gives you 5 seats.

Choose a plan

You'll head to Lemon Squeezy for secure checkout. Global tax is handled there. No subscription. Complete also includes the practical exam and free Go-version updates.

Free chapter
Escape Analysis — The Compiler's Fragile Decision
Understand how the compiler decides between stack and heap allocation, why the decision is fragile, and how to verify it.
Free chapter
Maps — Swiss Tables, Growth, and Permanent Memory
Understand the Go 1.24+ Swiss Table map layout, why maps don't shrink, and how to design for memory reclamation.