has anyone made a webserver in a language with a generational GC where the young generation is per-request, i.e. you have many minor heaps? seems like it would make latency a lot more deterministic without impacting things like in-process caches
-
Show this thread
-
Replying to @whitequark
http://golang.org/s/gctoc prototype wasn’t clearly better than baseline
1 reply 1 retweet 8 likes -
-
Replying to @whitequark
some discussion here: https://blog.golang.org/ismmkeynote
1 reply 1 retweet 6 likes -
Replying to @davidcrawshaw
interesting. i wonder if the results would be different with a moving collector
1 reply 0 retweets 2 likes -
Replying to @whitequark @davidcrawshaw
Came here to say this. The Go experience isn’t very representative because they didn’t implement bump allocation in the nursery.
3 replies 1 retweet 8 likes -
Do you know of a good example of generational collector which compares bump allocation vs freelist? The mimalloc paper reckons having both isn’t worth the extra branches in the allocation path.
1 reply 0 retweets 0 likes -
Replying to @jashmatthews @pcwalton and
JSC has both but their presentations/blog reckons you make it up by avoiding building a freelist for empty pages.
1 reply 0 retweets 0 likes -
Replying to @jashmatthews @pcwalton and
I added a naive bump allocation path for CRuby and it was 5% slower...
2 replies 0 retweets 0 likes
Allocation is like 6 instructions and a small bump allocating nursery is the best possible scenario for cache…
-
-
Right, but hoard etc use both bump pointer into empty pages and freelist allocation into pages with holes. I'm curious whether there's actually any advantage here on modern CPUs considering the hit of additional branches.
1 reply 0 retweets 1 like -
Replying to @jashmatthews @pcwalton and
Eventually found http://users.cecs.anu.edu.au/~steveb/pubs/papers/mmtk-sigmetrics-2004.pdf … suggests the advantage in allocation performance in quite small.
0 replies 0 retweets 0 likes
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.