Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    M

    Morsing's Blog

    morsmachine.dk · Personal blog · on HN since 2013

    A Go developer's blog on the Go scheduler and netpoller, causal profiling, TCP and consensus, and Kubernetes.

    Visit blogHN submissions
    Systems & PerformanceLanguages & CompilersDistributed Systems
    What HN says

    Commenters repeatedly cite its Go scheduler post as the best overview of goroutine scheduling.

    Stats for nerds
    17HN people shared it
    15linked in comments
    432story points
    Oct 2017last shared
    2015people per year2017

    Top posts on HN

    1. 1
      The Go 1.1 scheduler
      10 people · 156 points · first shared 2013 · 28 comments on HN
    2. 2
      TCP is an underspecified two-node consensus algorithm
      2 people · 139 points · first shared 2018 · 45 comments on HN
    3. 3
      Causal Profiling for Go
      1 person · 84 points · first shared 2016 · Discussion on HN
    4. 4
      The Go netpoller (2013)
      3 people · 50 points · first shared 2013 · 1 comments on HN
    5. 5
      Let's assess Kubernetes
      1 person · 2 points · first shared 2017 · Discussion on HN
    6. 6
      A Causal Profiling update
      1 person · 1 points · first shared 2017 · Discussion on HN

    What HN people wrote when they linked it

    • soulbadguyAug 2016

      > There are no asynchronous operations in that go model, everything is synchronous.

      You are the second person saying this, and i have to admit i am really confused by this statement. From my understanding, golang does not expose an asyncio interface, but this doesn't meant that golang runtime doesnt perform io operations asynchronously. So golang expose async operation through a synchronious interface, which is what most language construct (C# async/await, F# async monad etc..) try to emulate.

      From https://morsmachine.dk/go-scheduler , when a goroutine performs a blocking operation, the local scheduler the remaining goroutine are migrated to another OS thread, allowing them to continue their execution while the blocking operation completes asynchroniously.

    • zbobet2012Aug 2017

      You can move the the co-routine onto another thread. The go scheduler does this: https://morsmachine.dk/go-scheduler

      There isn't really a "comparison" here. Co-routines/fibers could behave exactly like nginx does for IO or not at all. It all depends on the implementation.

    • jstewartmobileOct 2017

      Not really an apples-to-apples comparison. It would have been nice to at least mention the possibility of goroutine starvation.

      Here's the best overview of goroutine scheduling I've come across so far: https://morsmachine.dk/go-scheduler

    • tuxychandruJan 2015

      This is a good read on the Go scheduler. http://morsmachine.dk/go-scheduler

    Related

    Dave Cheneydave.cheney.net271 people

    Why Slack is inappropriate for open source communications

    Dave Cheney
    Personal · last shared 2026
    Envoy Proxy Blogblog.envoyproxy.io25 people

    Modern network load balancing and proxying

    Envoy Proxy Blog
    Company · last shared 2025
    Twitch Engineering Blogblog.twitch.tv178 people

    Go’s march to low-latency GC

    Twitch Engineering Blog
    Company · last shared 2026
    Brave New Geekbravenewgeek.com85 people

    You Are Not Paid to Write Code

    Brave New Geek
    Personal · last shared 2026
    Coder Blogcoder.com66 people

    We improved the performance of a userspace TCP stack in Go

    Coder Blog
    Company · last shared 2026
    VictoriaMetrics Blogvictoriametrics.com37 people

    Graceful Shutdown in Go: Practical Patterns

    VictoriaMetrics Blog
    Company · last shared 2026
    APNIC Blogblog.apnic.net253 people

    Internet protocols are changing

    APNIC Blog
    Company · last shared 2026
    Encore Blogencore.dev47 people

    Go Modules Cheat Sheet

    Encore Blog
    Company · last shared 2026