I think the high bit here is that the Go community is very aggressive about GC latency. Go has large users with large heaps, lots of goroutines, and SLOs similar to those being discussed here. When they run into GC related latency problems the Go team works with them to root cause and address the problem. It has been a very successful collaboration.
Stepping back, work on large heaps is being motivated by the fact that RAM hardware, due to its thermal characteristics, is still doubling byte/$ every 2 years or so. As heaps grow GC latency needs to be independent of heap size if Go is going to continue to scale over the next decade. The Go team is well aware of this, is motivated by it, and continues to design a GC to address this trend. On Sunday, July 31, 2016 at 9:26:13 AM UTC-4, almeida....@gmail.com wrote: > > I'm starting a proof of concept project to the company i work. The project > is a http proxy with a smart layer of cache (Varnish, Nginx and others > don't work because we have business rules on cache invalidation) for a very > big microservice architecture (300+ services). > > We have 2x128GB machines available today for this project. > I don't have any doubt that Go has amazing performance, used in other > projects, and they are rock solid, very fast and consuming very little > memory. > But i'm afraid to use Go at this project because of the GC. I'm planning > to use all the available memory on cache. Isn't all this memory on heap be > a problem? > > It's a new area to me, store tons of GB in a GC language. > What is my options? Use a []byte and or mmap to stay out of GC? > Lots and lots of code to reimplement this datastructures on top of slices > just to avoid the GC, not counting all the encoding/decoding to get/set the > values. > > Stick with the raw slices? > Didn't used Cgo before, but it is a viable option? > Or should i go 100% offheap with something like Rust or C? > > I hope to add as little overhead as possible. > > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.