AFAIK the problem isn't one of "garbage collected language" vs "non garbage collected language". Problem is that Go's particular implementation isn't the fastest around. There isn't a single garbage collection method that all GC'd languages use, they're all different and are targeted for probably different use cases.
For example: http://benchmarksgame.alioth.debian.org/
If you compare Go's performance with other garbage collected languages (C# on Mono, F# on Mono, Java, Scala, etc) in those benchmarks, you get pretty different results. With Mono based languages its mostly 50/50, whereas with JVM based languages it compares unfavorably on most cases.
So even among GC'd languages you can find wildly different results, just like you can't expect to see the same results among compiled languages.
I'm not saying to take those numbers as the holy grail of programming language comparisons, but just to show that it isn't just a decision between GC and no GC.