It will be tough to reproduce in an example as it's quite highly embedded into a large project.
It does seem that moving away from pointers may help improve the situation from what Egon has said. I will try and capture the gctrace next week. The graphs were obtained from stackimpact.com which is embedded inside the binary. The machine is a 2 core machine and GOMAXPROCS has not been changed manually so it is the default. GOARCH="amd64" GOBIN="" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOOS="linux" GOPATH="/root/work" GORACE="" GOROOT="/root/.gvm/gos/go1.8.1" GOTOOLDIR="/root/.gvm/gos/go1.8.1/pkg/tool/linux_amd64" GCCGO="gccgo" CC="gcc" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build994225408=/tmp/go-build -gno-record-gcc-switches" CXX="g++" CGO_ENABLED="1" PKG_CONFIG="pkg-config" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" On Friday, April 21, 2017 at 3:16:31 PM UTC+1, r...@golang.org wrote: > > How did you generate the GC pause graphs? Could also provide the output > from "GODEBUG=gctrace=1 yourApp"? It would help confirm that it is a GC > pause problem. Also some insight into the number of cores / HW threads and > the value of GOMAXPROCS could eliminate some possibilities. > A reproducer would be great. > Thanks in advance. > > On Thursday, April 20, 2017 at 9:49:49 AM UTC-4, Lee Armstrong wrote: >> >> See attached graph which shows the GC pauses of an application we have. >> >> I am frequently seeing pauses of 1-1.5 seconds. This is using Go 1.8.1 >> and have a large map that is frequently accessed and items are removed and >> added to it. These can be of some size. >> >> Is there a way to get these pauses down at all? Would forcing a GC() >> after removing a batch of elements help at all? >> >> Alongside the pauses I see some substantial CPU usage showing up in >> traces for the GC scan. >> >> Thanks in advance! >> > -- 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.