Mmm
Languages and libraries
memory management library
SHOW HN2015
How HN took it
0 positive, 5 neutral or asking, 1 mixed, 3 critical, out of 9 comments about the project. Thread score -0.26.
Design: 0 for, 2 againstIdea: 0 for, 1 against
The thread, comment by comment
Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.
positive neutral or mixed critical about another commenter or something else the maker
What HN said
What people liked
Idea is useful for Go services hitting GC latency limits
From 2 comments
Infrequently enough that it's usually premature optimization to spend too much time worrying about it. But in Go's core application space, high-load network applications,…
jerf on HNOne might actually suffer from GC overhead much more than that, i.e. it might be the number one thing to be aware of and optimize, especially if your program has millions of…
jorangreef on HN
Objections
Using reflection and interface casts may allocate on the GC heap, undermining the goal
From 2 comments
It seems a bit contradictory to write a manual memory management library in Go and _then use type reflection as a shoehorned version of generics_. It must be that the author only…
slimsag on HNAlso, don't reflection and/or interface casts for anything larger than a pointer allocate on the GC heap in Go? That is, isn't it using GC to implement no-GC?
pcwalton on HN
Premature optimization; profile and reduce allocations first
From 2 comments
Infrequently enough that it's usually premature optimization to spend too much time worrying about it. But in Go's core application space, high-load network applications,…
jerf on HNMuch more than "a realistic chance of optimizing everything else to the point that GC time becomes your biggest problem"?
jerf on HN
Benchmarks use forced STW GC calls, not representative of production
From 1 comment
You use runtime.GC() when you did your benchmark. This tells the Go runtime to do an aggressive stop the world GC, which it does. The normal GC is concurrent and if you use it…
_rlh on HN
Requests
Report reproducible gctrace latency results to the Go team
From 1 comment
Some folks export GODEBUG=gctrace=1 which will result in the GC dumping out a lot of interesting information including stop the world latency. It doesn't increase the determinism…
_rlh on HN
Questions
How often does GC need to run for it to matter in overall speed?
From 1 comment
The benchmarks seem to revolve around the invoking of the collector. I am very curious as to how common it would be to do that often enough for it to matter in terms of overall…
eljimmy on HN
Alternatives named
External caches like memcache or Redis over RPC
From 1 comment
There's also #4, using a ready-to-use external cache that can be accessed over RPC/network. Like memcache, or Redis. I'm sure you've thought of it, so can you explain why it…
giovannibajo1 on HN
Using Rust or C for the cache, called from Go via RPC
From 1 comment
Infrequently enough that it's usually premature optimization to spend too much time worrying about it. But in Go's core application space, high-load network applications,…
jerf on HN
Go GC tuning via GOGC and concurrent collector in Go 1.5
From 1 comment
Some folks export GODEBUG=gctrace=1 which will result in the GC dumping out a lot of interesting information including stop the world latency. It doesn't increase the determinism…
_rlh on HN