All it does is copy from one buffer to the other? Have you compared the performance against System.arraycopy()?
On Feb 20, 5:13 am, byhisdeeds <[email protected]> wrote: > I have the following code that was ported from C that copies ints from > one array to another. Can someone tell me whether they think > that I can gain any performance using another method. I use > ByteBuffers > because the data is originaly read as bytes (RGBA) and the COPY > function > rearranges the order during the copying process. > > private void COPY(ByteBuffer d, ByteBuffer s, int TILE_SIZE, int I0, > int J0, > int U0, int V0, int I1, int J1, int U1, int V1, int I2, int J2, int > U2, int V2) > { > int i,j,u,v,i0,j0,u0,v0,di0,dj0,du0,dv0,di,dj,du,dv,k0,k; > > IntBuffer rps = s.asIntBuffer(); > IntBuffer rpd = d.asIntBuffer(); > i0=I0; j0=J0; u0=U0; v0=V0; > int TS1 = TILE_SIZE-1; > di0=(I2-I0)/TS1; dj0=(J2-J0)/TS1; > du0=(U2-U0)/TS1; dv0=(V2-V0)/TS1; > di=(I1-I0)/TS1; dj=(J1-J0)/TS1; > du=(U1-U0)/TS1; dv=(V1-V0)/TS1; > for (k0=(TILE_SIZE-1);k0>=0;k0--) > { > i=i0; j=j0; u=u0; v=v0; > for (k=k0;k>=0;k--) > { > rpd.put((v>>1)*TILE_SIZE+(u>>1), rps.get(j*TILE_SIZE+i)); > i+=di; j+=dj; u+=du; v+=dv;} > > i0+=di0; j0+=dj0; u0+=du0; v0+=dv0; > > } > } --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "JVM Languages" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jvm-languages?hl=en -~----------~----~----~----~------~----~------~--~---
