BT

Mono : Sgen GC et autres améliorations, travaux en cours sur PlayScript et CppSharp

par Roopesh Shenoy , traduit par Julien Delhomme le 30 oct. 2013 |

Mono 3.2 est sorti le mois dernier (ndt : Juillet 2013), apportant plusieurs améliorations du GC, des améliorations côté développement et plus encore. D'autres éléments tels que l'intégration de PlayScript et CppSharp sont en cours de travail.

SGen GC a été encore amélioré avec Mono 3.2, en particulier sur les scénarios suivants :

  • La charge de travail pour les objets populaires, où quelques objets épinglés au niveau "nursery" sont très populaires et en présence d'objets en vieille génération, induisant un nombre important de listes de références à maintenir ("remembered sets"). Pour éviter cela, les objets populaires sont rendus immortels jusqu'à la collecte majeure suivante.
  • La charge de travail pour les piles de threads, où un grand nombre de threads ayant une pile de taille importante doivent être scannés. Ceci provoquait une pression importante sur l'étape d'épinglage en produisant des files d'attente très longues. Pour éviter cela, SGen utilise maintenant un filtrage à base de hash sur les files d'épinglage, ce qui réduit fortement leur taille en moyenne et épingle les blocks les plus importants plutôt que des objets individuellement.

En plus de cela, la collecte majeure peut à présent être désactivée à certains endroits, là où une faible latence est requise. SGen est maintenant le GC par défaut pour Mono.

Côté développement, il y a également des améliorations pour les développeurs mobile :

  • Développement iOS plus efficace, avec builds incrémentaux et uploads incrémentaux
  • Certaines fonctionnalités ont été désactivées pour réduire l'empreinte sur le mobile

La disponibilité de certains Frameworks sur Mono a évolué elle aussi. Depuis quelques temps, Mono a embarqué plusieurs Frameworks rendus open-source par Microsoft. Il supporte donc maintenant :

Ces Frameworks sont suportés aux côtés de :

Miguel de Icaza a présenté quelques éléments de travail en cours lors de la conférence MonkeySpace, le mois dernier :

  • PlayScript, créé par Zynga pour fournir des jeux à exécuter autant sur le mobile que sur le Web, sans avoir à faire un portage complet. Le compilateur PlayScript a été construit sur Mono. L'équipe Mono travaille actuellement à réintégrer ces changements.
  • Avancées côté Interop C++, poussées par deux axes de travail : les évolutions de Cxxi et CppSharp.

Vous pouvez trouver plus de détails dans la présentation "Quoi de neuf dans Mono" et dans les Release Notes de Mono 3.2.

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-2013 C4Media Inc. InfoQ.com est hébergé chez Contegix, le meilleur ISP avec lequel nous ayons travaillé.
Politique de confidentialité
BT