Salut !
<snip/>
La javadoc dit 'as if', ce qui a son importance. En regardant le
code du arraycopy, je ne vois pas du tout cette cr�ation de
tableau temporaire. Pour des int :
case T_INT:
memmove(&((ArrayOfInt *)dstptr)->body[dst_pos],
&((ArrayOfInt *)srcptr)->body[src_pos],
length * sizeof(((ArrayOfInt *)dstptr)->body[0]));
Je ne vois pas de cr�ation de tableau interm�diaire dans tout
cela (ni dans le reste du code). Mais bon, comme je disais, le C
et moi...
Olivier
> A mon avis ce doit
> �tre pour que
> dans tous les cas on soit s�r de ne pas �craser des donn�es
> avant de les
> recopier.
>
> Mais tout cela a l'air tr�s d�pendant de la plateforme (class
> System oblige) ,
> parce que sur un Sun Solaris, le arraycopy est toujours +
> rapide, cf petit test
> perso
>
> arraycopy un seul tab : 26
> while decrement compact : 236
> copy 2 tableau arraycopy : 82
> copy 2 tableau while : 307
>
> et sur un Intel/Linux aussi
>
> arraycopy un seul tab : 211
> while decrement compact : 251
> copy 2 tableau arraycopy : 203
> copy 2 tableau while : 440
>
> Tes tests �taient sous M$ ???
>
> Pascal NICOLAS Universite d'ANGERS
> E Mail : [EMAIL PROTECTED]
> Web Page : http://www.info.univ-angers.fr/pub/pn/
>
>
>
>
>
