Llegamos a ustedes gracias a:



Noticias

Lenguaje Go de Google toma velocidad de compilación

[29/11/2016] El lenguaje de código abierto Go de Google mejorará el tiempo de compilación con el upgrade planeado para la versión 1.8.

Detallando las mejoras en cadena planeadas de la herramienta para Go, el contribuyente Dave Cheney afirmó que la versión 1.8, programada para febrero, está proyectada para mejorar la compilación en un promedio de 15% con respecto a Go 1.7. Esto ayudaría con el incremento en los tiempos de compilación, que últimamente han perseguido a Go.

"Desde Go 1.5, lanzado en agosto del 2015, los tiempos de compilación han sido significativamente más lentos que Go 1.4, afirmó Cheney. "El trabajo para abordar esta desaceleración comenzó en serio en el ciclo de Go 1.7 y aún continúa. Este predicamento surgió después de que el compilador fuera traducido de C a Go.

Para mejorar la compilación, el analizador del lenguaje está siendo reescrito para hacerlo más rápido y eliminar muchas variables a nivel de paquete heredadas del anterior analizador yacc. "Este analizador produce un nuevo árbol de sintaxis abstracta, mientras que el resto del compilador espera el anterior árbol de sintaxis de yacc, indicó Cheney. "Para la 1.8, el nuevo analizador debe transformar su output en el árbol de sintaxis anterior para su consumo por parte del resto del compilador. Aunque el analizador lleva consigo un paso adicional de transformación, no es más lento que la versión anterior; este requisito de transformación se retiraría de Go 1.9, señaló Cheney.

Para mejorar la generación de código, el SSA back end ahora soporta más arquitecturas; había sido desplegado para Intel 64 en Go 1.7. "AMD64, en virtud de ser la arquitectura más popular de producción, siempre ha sido la más rápida, sostuvo Cheney. Los resultados al comparar Go 1.8 con 1.7 en arquitecturas Intel muestran mejoras regulares generadas igualmente por las mejoras en la generación de código, mejoras en el análisis de escape y optimizaciones a la biblioteca estándar, según Cheney. Go 1.8 también soportará la plataforma Mips de 32 bits, que no tenía soporte en Go 1.7 y contará con una sobrecarga menor cuando se utilice la instrucción de aplazamiento, la cual aplaza la ejecución de una función hasta que la función circundante dé un resultado.

Go, que quizás sea más conocido por su uso en el desarrollo de la plataforma de contenedores Docker, ha sido una estrella en ascenso entre los lenguajes.

Paul Krill, InfoWorld (EE.UU.)