Go 1.7 Is Trading Much Slower Compile Times For Better Generated Code

Written by Michael Larabel in Programming on 3 February 2016 at 07:36 PM EST. 17 Comments
PROGRAMMING
Go developers are warning that with the upcoming Go 1.7 release the compiler could be as much as two times slower, but will yield better quality -- and hopefully faster -- generated code.

For the upcoming Go 1.7 development cycle, they plan to merge their SSA compiler back-end for their x86_64 platform. Their Static Single Assignment back-end is currently running much slower than their current back-end, but will yield better generated code.

Go developer Russ Cox at Google started a new mailing list thread about Go 1.7 planning. He forewarned, "It works, and it generates code that on average runs about as fast as the current compiler. In many cases the SSA back end generates significantly better code than the old back end with little effect on performance: x86-64 chips (at least the server-class ones) are remarkably good at executing bad code quickly. We expect that the effect on non-x86 chips will be more pronounced, and there is still significant room for improvement in the x86 code quality, so we may yet see significant wins there. Unfortunately the SSA back end slows down the overall compilation by about 2x compared to using the old back end. This is not fundamental: we've spent almost all the development time focused on correctness and completeness, not on making it fast. The compiler work in the Go 1.7 cycle will focus on recovering much of that compile time loss."

Go 1.7 is also expected to feature improvements to their garbage collector, a more compect export format, SPARC64 and ARM64/AArch64 porting work, and a range of other improvements. Go 1.7 development will heat up after Go 1.6 ships in the next few weeks. Stay tuned for more Go 1.7 development news as its release cycle progresses.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week