• [^] # Re: C'est un troll.

    Posté par . En réponse à la dépêche Mono 1.0 sous le feu des projecteurs. Évalué à 2.

    Le problème n'est pas le chargement mais la CREATION de classes. Quand le code d'un programme est compilé, le compilateur a accès au bytecode des autres classes et peut donc faire une analyse de celui-ci. En Java, et je suppose que c'est la même chose en .NET, tu peux en plus charger le code d'une classe dynamiquement, sans que cette classe a été présente à la compilation. Si la classe en question implémente une interface quelconque, alors le code utilisant cette interface ne peut pas être optimisé en enlevant les virtuals car on ne peut pas restreindre le type effectif des objets qui vont être passés au code concerné. C'est pourquoi les conteneurs à base d'Object sont pourris et donc que les Generics de Java sont une mauvaise solution en terme de performances (contrairement à ceux de C#). Bien entendu, il est possible de tracer statiquement dans un programme les utilisations des objets dont la classe peut être créé dynamiquement et donc d'optimiser le reste du code.