Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #12763

A

Agis Anastasopoulos

Personal blog · agis.ioprogramming

Agis Anastasopoulos's personal blog at agis.io covers programming. Since 2014, 6 different Hacker News readers have linked it 9 times, most often “Contiguous stacks in Go”. The last post was in 2019, but the archive is still widely read.

Visit the blog
9mentions?
6HN people?
2014–2026first – last linked?
Links on Hacker News per year · peak 3 in 2014

Too few sampled comments (5) to say how often HN recommends it.?

Why HN links it

HN readers link Agis Anastasopoulos's posts on the history of Go's goroutine stacks, mainly the move from segmented stacks to contiguous, copyable stacks. Commenters cite them to explain that change.

Summarised by Claude from a sample of 5 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Most-linked posts?

  1. Contiguous stacks in Go
    4 people · 4 mentions · first linked 2014-03-26
  2. Go transitioning to contiguous stacks (2014)
    3 people · 3 mentions · first linked 2022-06-30

What Hacker News says?

  1. Go used to use noncontiguous stacks but they switched away from that model for performance reasons: https://agis.io/post/contiguous-stacks-golang/ . If you put the pid in the high bits of every pointer you run into problems when you want to support fork(). The child gets a new pid but keeps all the same pointers as its parent. And that only protects you against one process trying to read/write another process's memo…

    Comment linking /post/contiguous-stacks-golang/

    on “Linear Address Spaces: Unsafe at any speed”
  2. Submitted Contiguous stacks in Go as a story · 17 points

    HN discussion
  3. Note that Go no longer uses segmented stacks (and hasn't since 1.2). It uses contiguous, copyable stacks: http://agis.io/2014/03/25/contiguous-stacks-in-go.html

    Comment linking /2014/03/25/contiguous-stacks-in-go.html

    on “New SSA Back End for the Go Compiler (2015)”
  4. Submitted Go transitioning to contiguous stacks (2014) as a story · 2 points

    HN discussion
  5. gepoch · 2016-01-15Recommends
    Go has an interesting history surrounding its stacks. Originally the stack was a doubly linked-list (segmented stack), but it changed into a more vector-like format (contiguous stacks) in 1.3. Here's a pretty good write-up: http://agis.io/2014/03/25/contiguous-stacks-in-go.html

    Comment linking /2014/03/25/contiguous-stacks-in-go.html

    on “Coroutines and Fibers: Why and When”
  6. Submitted Dabbling in Erlang: A minimal introduction (comparing with Ruby) as a story · 2 points

    HN discussion
  7. alco · 2014-12-12Recommends
    Just a small note: Go has also abandoned segmented stacks. They were a placeholder until Go got precise GC which enabled it to use contiguous stacks with pointer rewriting. Here's a good explanation of this – http://agis.io/2014/03/25/contiguous-stacks-in-go.html .

    Comment linking /2014/03/25/contiguous-stacks-in-go.html

    on “Ask HN: Rust concurrency vs. Go after drop of green threads and segmented stacks?”
  8. Submitted Dabbling in Erlang, part 2: A minimal introduction (2013) as a story · 1 points

    HN discussion
  9. This is bound to problems - slighest change in your stack - language, runtime, OS would affect that so much that it's completely pointless to rely on measures taken and apply them later (that to be said, this is perfectly valid choice when you are locked in - like in the embedded or game console world, but rarely that's the case outside) For example - https://go.dev/doc/go1.3#stacks https://agis.io/post/contiguous-s…

    Comment linking /post/contiguous-stacks-golang/

    on “How Much Memory Do You Need to Run 1M Concurrent Tasks?”

Search all of HN for agis.io