Llegamos a ustedes gracias a:



Noticias

La herramienta Microsoft Linker reduce las aplicaciones .Net

[04/09/2017] Una característica por mucho tiempo muy solicitada, pero sin cumplir para .Net finalmente ha sido entregada por Microsoft y el equipo de Mono: Un enlazador que permite a las aplicaciones .Net retirar elementos de ellas para incluir solo las partes de las bibliotecas que son realmente utilizadas por el programa en el tiempo de ejecución.

El proyecto IL Linker funciona analizando una aplicación .Net y determinando cuáles bibliotecas nunca son utilizadas por la aplicación en cuestión. "Es efectivamente un análisis de código muerto específico de aplicaciones, afirma Microsoft en su anuncio en GitHub para el proyecto.

Una misión de largo plazo para IL Linker es transformarse en "el enlazador primario para el ecosistema .Net.

La actual versión preliminar de IL Linker solo soporta un pequeño subconjunto de posibles aplicaciones .Net -aquellas que se encuentran autocontenidas y usan .Net Core. La cantidad de espacio que se ahorre para ciertas aplicaciones variará bastante, pero Microsoft señala que "en casos comunes, el enlazador puede reducir el tamaño de las aplicaciones en 50%.

Históricamente, ha sido difícil reducir las aplicaciones .Net debido a las funciones dinámicas de la plataforma. IL Linker busca en el código comenzando desde cualquier ensamble o dependencia que estén explícitamente declaradas en la aplicación y marca todo lo que determine que no se va a usar.

En estos momentos, los algoritmos usados para este marcar y eliminar yerran en el lado de la prevención, pero aún es posible para IL Linker marcar el código que es dinámicamente importado en el runtime. Sin embargo, el usuario final siempre puede especificar de forma manual qué mantener, ya sea que se trate de un ensamble entero o sólo un tipo específico dentro de ese ensamble.

Una parte del trabajo de IL Linker se basa en un proyecto anterior, Cecil, utilizado por los desarrolladores de .Net desde el 2004 para inspeccionar y modificar aplicaciones y bibliotecas .Net. La diferencia principal entre los dos es que Cecil es principalmente para la inspección y modificación manual, en donde la creación de una aplicación más pequeña solo es una de las posibles metas. IL Linker está diseñado específicamente para reducir la huella de una aplicación .Net.