*BSD News Article 16003


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!apple!kaleida.com!conklin
From: conklin@kaleida.com (J.T. Conklin)
Newsgroups: comp.os.386bsd.development
Subject: assembly versions of bcopy, bcmp, memcpy, memmove, etc.
Date: 12 May 93 16:34:41
Organization: Kaleida Labs, Inc., Mountain View, CA
Lines: 24
Message-ID: <CONKLIN.93May12163441@ngai.kaleida.com>
Reply-To: conklin@kaleida.com
NNTP-Posting-Host: ngai.kaleida.com

I've been working on assembly language versions of the "string"
routines to replace currently used C versions.  I've completed quite a
few of them, and performace of those routines is measurably better.

Since I'm almost done, I decided to take a look at some other
implementations to see if there are any tricks & tweeks I could use to
make them even faster (Its been a long while since I have done
anything in i386 assembly).  I discovered that many of them make sure
that the move/compare/store is aligned on a word boundry.

I have not done this myself, since my impression is that the data
structures will allready be aligned by the compiler (or malloc).  Why
slow down the general case to handle a special case?  But maybe my
impression is totally off-base and aligned access is the special case?

I'd appreciate any facts (or opinions) that would either confirm or
disprove my assumption.

--
J.T. Conklin <jtc@wimsey.com>    | Your source for floppy distributions
    Winning Strategies, Inc.     |    of the 386BSD OS and binaries
    61 Crestwood Drive #18       | 
    Daly City, CA 94015          | Send e-mail for complete product list