Nicolas Delsaux wrote:
> ----- Original Message -----
> From: "Remi Forax" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Thursday, May 16, 2002 9:35 AM
> Subject: Re: Classes proxy et log des op�rations
> 
>>Oui, c'est posible si :
>>  1) tu n'utilise pas de contructeur direct mais toujours des factories
>>     pour pouvoir glisser le proxy avant l'objet.
>>  2) manipuler tes objets uniquement par des interfaces
>>     pour la meme raison.
>>
>>Sinon ca marche bien, les containers d'EJB font ca tous le temps :))
> 
> 
> Et au niveau performances, �a donne quoi ?

Ca doit � vu de nez �tre 4 � 5 fois moins rapide.

> Je crois en effet me souvenir que l'introspection souffrait d'un gros d�faut
> de recherche des r�f�rences de m�thodes et d'objets, et qu'il n'a �t� r�solu
> que tout r�cement. Qu'en est-il actuellement ?

Eux, si tu utilises les proxies, tu n'utilise pas forcement
la reflection dans le sens ou la class Proxy genere une classe 
interm�diaire (en generant du byte-code � la vol�e)
et donc ne fait pas appel � la machine virtuelle
mais reste en Java.

Du reste, en 1.4, certains appels reflexifs sont aussi transform�s
(principalement les appels aux m�thodes et champs publiques)
en appel de m�thode classique (toujours par g�n�ration du
byte code) pour aller beaucoup plus vite.
(C'�tait peut-�tre ca � quoi tu faisais r�f�rence).

En fait, ce qui est lent pour la reflexion, c'est le
changement de context, Java/C car il ne peut �tre
optimiser facilement par un JIT (ou �quivalent).

> 
>>Remi
>>
> 
> Nicolas Delsaux

Remi

Répondre à