Xref: news2.mv.net comp.os.msdos.djgpp:4945 From: davis AT space DOT mit DOT edu (John E. Davis) Newsgroups: comp.os.msdos.djgpp Subject: Re: Speed optimization: memcpy() or for loop ?? Date: 13 Jun 1996 18:41:21 GMT Organization: Center for Space Research Lines: 35 Message-ID: References: <4pmlrp$p7u AT crc-news DOT doc DOT ca> <4pmscu$nrt AT rs18 DOT hrz DOT th-darmstadt DOT de> <4pn7dp$2d2 AT crc-news DOT doc DOT ca> Reply-To: davis AT space DOT mit DOT edu NNTP-Posting-Host: aluche.mit.edu To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp On 12 Jun 1996 19:56:41 GMT, Richard Young wrote: : >for(i=n,px=x,py=y; i ; i--) *py++=*px++; I would write this as: pxmax = px + n; while (px < pxmax) *py++ = *px++; or if the address space is flat: diff = py - px; pxmax = px + n; while (px < pxmax) { *(px + diff) = *px; px++; } Also, if n is a multiple of 2, one could do: diff = py - px; pxmax = px + n; while (px < pxmax) { *(px + diff) = *px; px++; *(px + diff) = *px; px++; } -- John E. Davis Center for Space Research/AXAF Science Center 617-258-8119 MIT 37-662c, Cambridge, MA 02139 http://space.mit.edu/~davis