RyuJIT : Microsoft dévoile la prochaine génération de son compilateur JIT
La préversion de l'outil permet de compiler deux fois plus vite

Le , par Hinault Romaric, Responsable .NET
L’équipe responsable de la plateforme de développement .NET de Microsoft vient de dévoiler sa prochaine génération de compilateur JIT (Just In Time).

Baptisé RyuJIT, ce nouveau compilateur selon l’équipe .NET de Microsoft, changera « vos impressions du code .NET pour les systèmes 64 bits ».

Alors que l’IT se dirige de plus en plus vers le 64 bits, les applications ne sont toujours pas plus rapides ou plus efficaces sur ces systèmes, que sur du 32 bits. Le but du compilateur RyuJIT est de permettre le développement d’applications spécialement optimisées pour le 64 bits.

« Un grand nombre d’applications s’exécutent plus vite sur du 32 bits que sur du 64 bits pour une variété de raisons. Le compilateur JIT 64 bits .NET par exemple, fait un excellent travail pour faire fonctionner rapidement votre application, mais n’est pas lui-même un programme rapide », note l’équipe NET dans un billet de blog.

Avec RyuJIT, tout cela est en passe de changer. Le nouveau compilateur permettra de compiler le code deux fois plus vite. Ce qui signifie qu’une application compilée avec RyuJIT pourra être rapide de plus de 30 % au démarrage.

Les tests de plusieurs variétés de modèles de code avec le compilateur RyuJIT présentent un gain étonnant en rapidité par rapport au compilateur JIT64 actuellement utilisé par Microsoft.


Pour le modèle de code « RFC822 e-mail RegEx », par exemple, RyuJIT prend 1,8 seconde et utilise 199 Mo pour faire fonctionner ce code, alors que sur le compilateur JIT64, ce programme prend 60 secondes et consomme 1,4 Go de mémoire pour fonctionner. « Une compilation plus rapide avec moins d’utilisation de la mémoire fait mieux fonctionner le code de chacun », se félicite l’équipe .NET de Microsoft.

De plus, le compilateur RyuJIT permettra de mettre fin à la fragmentation des compilateurs de Microsoft. Selon Microsoft, les ordinateurs 64 bits étaient principalement utilisés comme serveur. Pour optimiser leurs applications, les développeurs se retournaient vers le compilateur CodeGen. Ce qui obligeait ceux-ci à maintenir deux bases de code. Un frein important à l’innovation.

Étant basé sur le même code source que JIT x86 (compilateur 32 bits), RyuJIt, qui est disponible actuellement uniquement pour x64, sera la base de tous les compilateurs de Microsoft dans l’avenir : x86, ARM, MDIL et tout ce qui se présentera. Cela représente un gain en temps pour les développeurs (qui pourront désormais maintenir une base de code unique) et en rapidité pour les applications.

RyuJIT est actuellement disponible en préversion (CTP) à des fins de tests. Il ne doit pas être utilisé dans un environnement de production.

Télécharger la CTP du compilateur RyuJIT

Source : billet de blog équipe .NET de Microsoft

Et vous ?

Que pensez-vous de RyuJIT ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Uther Uther - Expert éminent https://www.developpez.com
le 01/10/2013 à 15:32
Qu'il faudra le voir a l’œuvre en condition réelle. Car les performances sur ce genre de microbenchmark, ça ne veut rien dire..
Avatar de dfiad77pro dfiad77pro - Membre éprouvé https://www.developpez.com
le 02/10/2013 à 9:10
Je viens de tester avec une de mes applis pro ( 68 000 lignes de codes)
Winform/WPF, Entity5, Oracle.

Le démarrage est bluffant ( à froid et à chaud) je dirai au moins 4 fois plus rapide !!! J'y crois pas encore ( On à l'impression d'un passage d'un hdd à un ssd).

Niveau ram ( Avec .net 4.5.1) :
avant : 189 mo
après : 88 mo

L'ensemble semble aussi plus réactif.
Avatar de DonQuiche DonQuiche - Expert confirmé https://www.developpez.com
le 03/10/2013 à 10:20
Que le compilateur JIT soit plus rapide est une chose mais le niveau d'optimisation en est une autre, parfois plus importante pour certaines applications. Espérons que ce gain sur le premier point n'a pas été obtenu aux dépens du second.

En revanche la fusion de leurs compilos JIT est une excellente nouvelle pour peu qu'ils utilisent ces gains de productivité pour améliorer ces outils qui laissent justement à désirer côté optimisation. Et l'aspect temps réel n'excuse rien : il serait possible de faire de l'incrémental.
Offres d'emploi IT
Développeur perl h/f
Kobaltt - Aquitaine - PAU
Développeur big data H/F
Geosys - Midi Pyrénées - Toulouse (31000)
Conception/dév logiciel java h/f
Atos - Provence Alpes Côte d'Azur - Aix-en-Provence (13100)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil