10 millisecond pauses are so 2015.
Today I submitted changes to the garbage collector that make typical worst-case stop-the-world times less than 100 microseconds. This should particularly improve pauses for applications with many active goroutines, which could previously inflate pause times significantly.
If you're already experimenting with master, we would love it if you could try this out and hammer on the new algorithm. We're particularly interested in any significant performance regressions, pause times significantly longer than 100 microseconds, or any crashes. And, of course, we'd love to hear about any improvements you see. :)
If you do encounter problems, please also test at commit d70b0fe or earlier, which is just before the algorithm changes started going in.
There are still known issues with the garbage collector interrupting individual goroutines for too long. We've made improvements to this for Go 1.8 and will continue to improve it, but this change is specifically about the garbage collector interrupting the whole application.