Beware of drawing conclusions about generational GC from the Golang ISMM keynote. As far as I can tell, they didn’t test against copying generational GC with bump allocation in the nursery, which is the typical implementation.
-
-
-
Replying to @sgmansfield
How many non-copying generational GCs are actually deployed in the wild? I know of exactly one. All the others are copying.
1 reply 0 retweets 6 likes -
Replying to @pcwalton
"This is what everyone else is doing, therefore it's the right way?"
1 reply 0 retweets 0 likes -
Replying to @sgmansfield
Nobody has done benchmarks here, and in the absence of those I’m going to go with what’s been known for decades. Especially since there’s evidence that Go’s memory allocation is too slow for many people, since they manually rearrange code to satisfy escape analysis.
2 replies 0 retweets 10 likes -
Replying to @pcwalton @sgmansfield
Yes, malloc is slower than stack allocation. So obviously if performance matters you're going to avoid it. ButI would argue this mainly happens during normal program optimization / tuning, and not because Go's malloc (originally a tcmalloc fork) is particularly slow.
1 reply 0 retweets 0 likes -
Replying to @dgryski @sgmansfield
Go’s malloc is incredibly slow relative to bump allocation. Bump allocation is a single-digit number of instructions. e.g. https://github.com/dotnet/coreclr/blob/8e48db2c113052ef18cdafb43e114a8633864ec0/src/vm/i386/jitinterfacex86.cpp#L461 …
1 reply 0 retweets 7 likes -
Java is even faster than .NET: 6 instructions https://shipilev.net/jvm-anatomy-park/4-tlab-allocation/ …
3 replies 0 retweets 5 likes -
Replying to @pcwalton @sgmansfield
I agree bump allocation is fast. I disagree that Go's malloc is "too slow". I believe the people manually adjusting their code to satisfy the escape analysis is the minority engaged in significant performance work.
1 reply 0 retweets 1 like
It’s a minority of people, sure, but why make their lives harder?
-
-
Replying to @pcwalton @sgmansfield
Because like much of engineering there are tradeoffs in other areas to worry about :)
0 replies 0 retweets 3 likesThanks. Twitter will use this to make your timeline better. UndoUndo
-
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.