Explore the inner workings of the Go runtime in this 50-minute conference talk from GoLab. Dive deep into the essential component of every Go compiled binary, examining its role, benefits, and associated costs. Learn about the initialization processes, including garbage collector and scheduler setup, and how the main function spawns as a goroutine. Gain insights into runtime operations such as goroutine scheduling and memory management. Discover the Go runtime's impact on binary size, startup speed, and overall performance. Follow the execution path from the initial assembly code to the main function, understanding key concepts like heap/stack initialization and garbage collection. Examine goroutines, their creation process, and how they relate to the main function. Investigate runtime-defined elements like maps, slices, and channels. Conclude with a comprehensive overview of the Go runtime's lifecycle, from startup to program termination.
Overview
Syllabus
Understanding the Go runtime - Jesus Espino
Taught by
GoLab conference