L'outil Native Image Generator Tool (Ngen.exe) est un outil qui améliore les performances des
applications managées. Ngen.exe crée des images natives, lesquelles sont des fichiers qui
contiennent le code machine spécifique au processeur compilé et les installent dans le cache des
images natives sur l'ordinateur local. Le runtime peut utiliser à la place des images natives du
cache à l'aide du compilateur juste-à-temps (JIT) pour compiler l'assembly d'origine.
- Compilation native :
Il faut savoir que le mécanisme de compilation native ne génère pas de fichier directement
exécutable, mais intégre simplement le code exécutable dans le fichier .beam qui contient le
pseudo-code. Cette approche peut sembler étrange, mais elle est en fait très cohérente. Elle
permet de distribuer uniquement les fichiers beam tout en conservant le caractère
multiplateforme. Seuls les plate-formes pour lequel le code natif peut être exécuté l'utiliseront. Les
autres plateformes utiliseront le pseudo-code contenu dans le fichier beam. L'autre avantage
majeur est que le mécanisme de fonctionnement des applications existantes n'est pas perturbé.
Grâce à ce mécanisme, on peut même compiler certains modules, voire certaines fonctions dans
ces modules, qui collaboreront avec des modules interprétés.
Axes de recherche
Etudier l’environnement .NET
.NET est un standard proposé par la société Microsoft, pour le développement d'applications
d'entreprises multi-niveaux, basées sur des composants. Microsoft .NET constitue ainsi la réponse
de Microsoft à la plate-forme J2EE de Sun. La plate-forme .NET a été élaborée en s'appuyant sur
une communauté d'utilisateurs et a abouti à l'élaboration de spécifications. Ces spécifications ont
été ratifiées par un organisme international de standardisation, l'ECMA (European Computer
Manufacturers Association), ce qui en fait un standard. Ainsi l'effort de standardisation a permis
l'émergence de plates-formes portées par des entreprises tierces et disponibles sous un grand
nombre de systèmes d'exploitation.
On parle généralement de «Framework» (traduisez «socle») pour désigner l'ensemble constitué
des services (API) offerts et de l'infrastructure d'exécution. Le framework .NET comprend
notamment :
L'environnement d'exécution :
un moteur d'exécution, appelé CLR (Common Language Runtime), permettant de