by Valeriano Tortola
1. septiembre 2007 06:00
A menudo al hablar de optimización de código se habla del inlining (código en línea) como técnica de optimización que realiza el del JIT, pero ... en que consiste?
Pues se trata de substituir el código de una llamada a función por el cuerpo de dicha función, de forma que se evita el paso de parámetros y manejo de bloques de activación. Una de las ventajas de trabajar distrubuyendo el código en funciones es su posterior reutilización, pero a la hora de compilar, si las funciones son pequeñas pueden crear una perdida de rendimiento grande en comparación a la ventaja de la reutilización de código, por lo que muchos compiladores realizan este proceso de inlining para determinadas funciones. Esto se aplica también a las propiedades y sus get/set, que suelen ser pequeños métodos.
Mas...
by Valeriano Tortola
28. agosto 2007 04:48
Siguiendo con el artículo anterior donde explicaba que es el código administrado MSIL, voy a explicar ahora también de forma breve como el CLR (Common Language Runtime) ejecuta dicho código con la ayuda del JIT (Just In Time compiler), y cuales son las ventajas y características de este modelo de ejecución. Este es más extenso que el anterior, aunque está todo bastante resumido y explicado por encima espero que resulte interesante.
Como comentaba, una vez generado el código administrado se compone un ensamblado junto los metadatos, el manifiesto que lo describe y los recursos que se hayan decidido incluir en él, estos datos permiten al CLR obtener información del ensamblado, sus tipos y recuperar el código administrado cuando se requiera.
El CLR es una máquina virtual, un entorno de ejecución para nuestro código MSIL, que provee las siguientes características:
Mas...
by Valeriano Tortola
27. agosto 2007 08:52
Voy a intentar explicar de forma breve en varios artículos como funciona el .NET Framework y que papel juegan sus diferentes partes. En esta primera parte a modo de introducción explicaré la diferencia entre el código fuente y el código administrado generado por el compilador, dejando el CLR y el JIT para una segunda parte.
Nuestro código C# (ó cualquier otro lenguaje con el que desarrollemos en .NET... por exótico que sea), es un leguaje de alto nivel con el componemos la lógica que queremos programar.
Aquí se puede ver una extensa lista de los lenguajes con los que se puede programar en .NET.
Mas...