BT
x Votre opinion compte ! Merci de bien vouloir répondre au sondage InfoQ concernant vos habitudes de lecture !

Des améliorations du JIT et du GC pour Mono

par Roopesh Shenoy , traduit par Julien Delhomme le 12 mars 2014 |

Mono 3.2.7, sorti récemment, apporte beaucoup de nouvelles fonctionnalités avec entre autres un JIT amélioré, un nouveau LINQ interpreter et l'utilisation d'instructions natives 64 bits.

Cette sortie correspond à une release majeure, résultat de près de 5 mois de développement. La plupart des éléments semblent correspondre à des améliorations de performance, des optimisations et des améliorations de compatibilité. Voici quelques-uns de ces éléments :

  • Support initial de HardFP ABI (Application Binary Interface) sur ARM. Ceci permet d'utiliser Mono sur des versions de Linux plus récentes et produit un meilleur code sur les versions ciblées. Plus de détails ici, pour mieux comprendre la différence entre HardFP et SoftFP.
  • L'optimisation ABCREM (array bound check removal) fonctionne maintenant beaucoup mieux sur les systèmes 64 bits.
  • Deux nouvelles optimisations pouvant apporter jusqu'à 20% de gain de performance sur certaines fonctions : une passe de Loop Invariant Code Motion et l'analyse d'alias, Alias Analysis.
  • Les instructions CAS 64-bits sont maintenant supportées sur les systèmes 32 bits, ce qui conduit à une amélioration significative des tâches PLINQ sur du multi-core.
  • Une version plus récente de LLVM est utilisée et peut maintenant générer des accès TLS (Thread Local Storage) rapides.
  • Des micro-optimisations du GC ont été effectuées sur les structures de données internes et l'utilisation de constructions intrinsèques pour accélérer les boucles principales.
  • Un interpreter pour LINQ et les instructions dynamiques qui peuvent être utilisées par les runtimes FullAOT.
  • Un meilleur support pour les schedulers de tâches personnalisées avec les task awaiters.
  • L'accessibilité et l'analyse de flux par le compilateur C# ont été améliorées de façon significative, ce qui permet de meilleurs warnings de code.

Cette release inclut également plusieurs corrections d'anomalies. Pour voir une liste complète des améliorations, vous pouvez consulter les release notes.

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Contenu Éducatif

Rien ne serait possible sans le soutien et la confiance de nos Sponsors Fondateurs:

AppDynamics   CloudBees   Microsoft   Zenika
Feedback Général
Bugs
Publicité
Éditorial
InfoQ.com et tous les contenus sont copyright © 2006-2014 C4Media Inc. InfoQ.com est hébergé chez Contegix, le meilleur ISP avec lequel nous ayons travaillé.
Politique de confidentialité
BT