Llegamos a ustedes gracias a:



Noticias

Microsoft mejora la compilación de Visual C++

Se encuentra en camino un avanzado optimizador de código para mejorar el rendimiento y el análisis, y para reducir el tamaño del código.

[16/05/2016] Microsoft está desarrollando un avanzado optimizador de código para el back end de su compilador de Visual C++ para mejorar el rendimiento y el tamaño del código.

Visual C++ es la variante de Microsoft del aún popular lenguaje de programación de propósito general fundado en 1979. El optimizador de código, que se ofrece como versión preliminar no soportada esta semana, en estos momentos es mayormente para propósitos de evaluación, afirmó Gratian Lup, ingeniero de software del grupo de plataforma de lenguaje y compilador de Microsoft.

Microsoft quiere habilitar optimizaciones más agresivas, incluyendo algunas que pueden aprovechar más información del tiempo de compilación y modernas tecnologías de compilador, afirmó Lup. "El diseño de algunos de los pases de optimización más antiguos hacían difícil implementar transformaciones más avanzadas y realizar mejoras a un ritmo más rápido, afirmó. "Como el nuevo marco fue pensado para ser la base de muchos futuros esfuerzos de optimización, un objetivo de diseño fundamental era hacerlo más fácil de implementar, testear y medir nuevas optimizaciones.

Cuando se trata de escribir código, Microsoft está mejorando tanto el código escalar como el vectorial. "Hay muchos casos en donde tanto el rendimiento como el tamaño del código pueden mejorarse, algunas veces de forma muy sustancial. El marco intenta resolver varias deficiencias del antiguo optimizador, afirmó Lup.

Con la actual tecnología, el antiguo optimizador de expresiones tiene un pequeño conjunto de funciones y una limitada visión de la función; también deja de lado muchas pequeñas optimizaciones. "El nuevo optimizador aprovecha el formulario Static Single Assignment, el cual permite manejar expresiones más complejas, que potencialmente cubre toda la función, afirmó Lup. "Otra ventaja del formulario SSA es que hace posible escribir algoritmos simples y más eficientes, eliminar la necesidad de usar técnicas más complicadas y lentas como el análisis de flujos de datos.

El proyecto también permite el fácil desarrollo con menos potencial para los errores, ofreciendo un mejor análisis estático del código y enfatizando el testeo y la corrección. "Dado el gran alcance del proyecto, asegurar y mantener la corrección fue una prioridad máxima, afirmó Lup. "Esto se logró usando verificación formal, testeando con programas generados aleatoriamente (fuzz testing) y programas y librerías populares, como Chrome, Firefox, CoreCLR y Chakra.

Lup está aconsejando a los desarrolladores crear y testear las aplicaciones con el nuevo optimizador y reportar cualquier problema. Prometió que habría más mejoras en el futuro cercano; las optimizaciones que probablemente haya en la siguiente versión de Visual Studio incluyen mejoras para expresiones boolea