www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/06/13/21:47:06

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: <slrn4s0o6h.71s.davis@aluche.mit.edu>
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 <richard DOT young AT crc DOT doc DOT ca>
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019