La segunda versión de Go 1.5 ha sido liberada con un compilador y módulo de tiempo de ejecución (runtime), escrito todo en Go. Aparentemente el cambio más importante a la implementación es, precisamente, el reescribir el compilador y el «runtime» enteramente en Go (con un poco de ayuda de ensamblador para ciertas partes). C ya no está involucrado en la implementación lo que significa que el compilador de C que era necesario para poder construir la distribución de las aplicaciones ha sido eliminado. Las notas de esta versión beta dicen que el código fuente en C que queda está relacionado con las pruebas del propio lenguaje.

En las versiones anteriores del lenguaje, un compilador de C se usaba para crear el módulo para el tiempo de ejecución (el runtime), lo que significaba que un compilador especial era necesario en parte para garantizar que el código en C podría trabajar con las ruintas de manejo del stack de Go (llamadas goroutines). Rob Pike, uno de los gurús de Unix de hace tantos años, fue el encargado de presentar estas ideas en el GopherFest, en mayo pasado.

Otra mejora importante es en el recolector de basura. Ahora es concurrente y da tiempos de espera dramáticamente menores cuando los programas están siendo ejecutados y cuando es posible, en paralelo con otras gorutinas. Las notas de la versión dicen que esperan que los tiempos de espera sean muchos menores que en el recolector de versiones anteriores, ya que a través de una combinación de algoritmos avanzados, mejor manejo de los tiempos para llamar al recolector y el hecho de usar paralelismo, los tiempos de latencia deben reducirse.

En general, los cambios hacen que Go 1.5 sea ligeramente más rapido que Go 1.4, particularmente en las pausas del recolector de basura que no son mayores a 10 milisegundos. Igualmente, algunos programas podrían correr más rápido si GOMAXPROCS se define con el número de núcleos disponibles. En las versiones anteriores este valor estaba siempre en 1.

Los binarios y la distribución del código fuente están disponibles en el sitio de Go (ver referencias).

Referencias:

Golang
Descargar Go 1.5 beta 2 
i-programmer