Can anyone talk about the state of the compiler in Go? How good/bad is the optimizer? That's not something you usually address early in language design.
Go's gc compiler is relatively young and makes few optimizations (the compiled code still performs well - this particular benchmark compares Go's unoptimized json package with a mature C library). The gccgo compiler can take advantage of all gcc's code generation optimizations, and it's performance reflects this.
Comments
Can anyone talk about the state of the compiler in Go? How good/bad is the optimizer? That's not something you usually address early in language design.
Go's gc compiler is relatively young and makes few optimizations (the compiled code still performs well - this particular benchmark compares Go's unoptimized json package with a mature C library). The gccgo compiler can take advantage of all gcc's code generation optimizations, and it's performance reflects this.