• [^] # Re: C# et le libre...

    Posté par . En réponse à la dépêche talweg, une migration vers Mono. Évalué à 2.

    Maintenant, si je comprends bien, la CLR possède des instructions de plus haut niveau que la JVM, permettant davantage d'optimisations en tout genre ?


    Non, elles sont comparables et toutes les deux de haut niveau (mon message parlait autant de la JVM que du CLR) : le tas est avec garbage collecting, la notion d'objet est native à la VM, de même que la gestion des threads, etc.

    Du coup est-ce qu'on arrive quand même à concilier légèreté / rapidité de lancement avec toutes les optimisations en question ?

    Réponse courte : non. Réponse longue : des gens travaillent la dessus. Par exemple tu peux avoir une JVM qui partage le code compilé entre tous les programmes qu'elle héberge, un peu comme ton OS partage le code des libs entre les process. On peut aussi sauvegarder la version compilée de quelque chose sur le disque pour la réutiliser au prochain lancement. En fait, en terme de vitesse du code le problème est plus ou moins résolu pour des applis qui doivent tourner quelques minutes au moins. Le démarrage est certe lent par rappot à du C, mais sur le long terme, on arrive parfois même à faire mieux que du C. Par contre, au niveau occupation mémoire, ce n'est pas gagné, surtout en Java. Le langage possède quelques limitations (que n'a pas C#) qui font qu'il est très gourmant en mémoire et ça risque de ne pas changer tout de suite.