Interesting tidbit from https://medium.com/@val_deleplace/go-code-refactoring-the-23x-performance-hunt-156746b522f7 … — “The execution time is now dominated by the allocation and the garbage collection of small objects (e.g. the Message struct), which make sense because memory management operations are known to be relatively slow.”
-
Show this thread
-
This is why you use a generational garbage collector with bump allocation in the nursery!
3 replies 2 retweets 20 likesShow this thread -
Replying to @pcwalton
I dug in to this benchmark a little. The live set is about two KB, so generations per se don't buy much. ~1% of runtime is GC proper. Bump allocation would help (perf record says 40% spent allocating). Hard to tell what costs are from free lists vs concurrent synchronization.
1 reply 0 retweets 0 likes -
Replying to @benkarel
Yeah, to be clear I think that the bump allocation in TLABs would be the biggest win from having generational GC.
1 reply 0 retweets 0 likes -
(Thread Local Allocation Buffers?)
1 reply 0 retweets 0 likes
Replying to @glaebhoerl @benkarel
Yeah.
8:44 AM - 13 Jun 2018
from Union Square, San Francisco
0 replies
0 retweets
1 like
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.