BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

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

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

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.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT