Go 1.4 Beta Release Brings Big Runtime Changes
Google's Go language implementation is now in beta for the upcoming 1.4 major release.
Go 1.4 is bringing Android ARM support, NaCL on ARM support, big changes to the Go runtime, minor performance improvements, changes to Go's existing libraries, and a ton of other improvements.
In terms of the Go 1.4 runtime changes, "Up to Go 1.4, the runtime (garbage collector, concurrency support, interface management, maps, slices, strings, ...) was mostly written in C, with some assembler support. In 1.4, much of the code has been translated to Go so that the garbage collector can scan the stacks of programs in the runtime and get accurate information about what variables are active. This change was large but should have no semantic effect on programs. This rewrite allows the garbage collector in 1.4 to be fully precise, meaning that it is aware of the location of all active pointers in the program. This means the heap will be smaller as there will be no false positives keeping non-pointers alive. Other related changes also reduce the heap size, which is smaller by 10%-30% overall relative to the previous release."
More details on the Go 1.4 Beta 1 release can be found via the GoLang mailing list announcement and the 1.4 release notes.
Go 1.4 is bringing Android ARM support, NaCL on ARM support, big changes to the Go runtime, minor performance improvements, changes to Go's existing libraries, and a ton of other improvements.
In terms of the Go 1.4 runtime changes, "Up to Go 1.4, the runtime (garbage collector, concurrency support, interface management, maps, slices, strings, ...) was mostly written in C, with some assembler support. In 1.4, much of the code has been translated to Go so that the garbage collector can scan the stacks of programs in the runtime and get accurate information about what variables are active. This change was large but should have no semantic effect on programs. This rewrite allows the garbage collector in 1.4 to be fully precise, meaning that it is aware of the location of all active pointers in the program. This means the heap will be smaller as there will be no false positives keeping non-pointers alive. Other related changes also reduce the heap size, which is smaller by 10%-30% overall relative to the previous release."
More details on the Go 1.4 Beta 1 release can be found via the GoLang mailing list announcement and the 1.4 release notes.
Add A Comment