Good videos, with context.
Dmitry Vyukov — Go scheduler: Implementing language with lightweight concurrency

Dmitry Vyukov — Go scheduler: Implementing language with lightweight concurrency

Hydra
2 HN recommenders · discussed 2020–2026
Open YouTube ↗

About this video

Go runtime contributor Dmitry Vyukov looks inside the Go scheduler, explaining how goroutines and channels are implemented. He covers the main scheduler components and overall operation, then goes into details such as preemption and stacks.

Why it appears in the archive

Recommended as a good watch on how Go's M:N:P scheduler works and why it was designed that way compared with alternative schemes.

AI-generated summary and labels from the source dataset; verify important details against the video. Source & credits.

From the Hacker News discussion

RossBencina · 2020-02 · rec

I guess that's because they are "intros," and often multi-core event loops are implemented by the language runtime or some threadpool library. This is a good watch: Dmitry Vyukov — Go scheduler: Implementing language with lightweight concurrency (Oct 14, 2019) [VIDEO]

Read original comment ↗
c0balt · 2026-03 · rec

[VIDEO] - Dmitry Vyukov — Go scheduler: Implementing language with lightweight concurrency This one notably also explains the design considerations for golangs M:N:P in comparison to other schemes and which specific challenges it tries to address.

Read original comment ↗
lukaslalinsky · 2025-10 · reference

Go depends on the fact that it can track all pointers, and when it needs to resize stacks, it can update them. Previous versions of Go used segmented stacks, which are theoretically possible, if Zig really wanted (would need compiler support), but they have nasty performance side-effects, see [VIDEO]

Read original comment ↗