Path: utzoo!mnetor!uunet!husc6!bu-cs!bzs From: bzs@bu-cs.BU.EDU (Barry Shein) Newsgroups: comp.arch Subject: Re: More than 32 bits needed where? Message-ID: <20076@bu-cs.BU.EDU> Date: 21 Feb 88 19:05:01 GMT References: <235@unicom.UUCP> <28200089@ccvaxa> <3104@watcgl.waterloo.edu> <9618@steinmetz.steinmetz.UUCP> <173@babbage.acc.virginia.edu> Organization: Boston U. Comp. Sci. Lines: 38 In-reply-to: mac3n@babbage.acc.virginia.edu's message of 21 Feb 88 00:12:39 GMT > >Other uses of more that 32 bits is for social security numbers. > >Note that you don't really integers for this, unless you plan to do arithmetic >on SSNs. Comparison is "arithmetic". I believe most machines will perform load register, compare registers faster than memory-memory compares, as in: LOAD R1,WANTED LOAD R2,ARRAY LOOP: CMP R1,@R2 BEQ FOUND INCRL R2 BR LOOP vs. LOAD R1,WANTEDP LOAD R2,ARRAY LOOP: CMPLC LENGTH,R1,R2 # compare logical character BEQ FOUND BR LOOP (obviously a test for end is missing.) It's no accident that most of the various flavors of identifiers in OS/370 are limited to 8 bytes (see compare double), or similarly the 6 SIXBIT chars (36 bits) in PDP10 systems. I will agree that in many cases such concerns for speed at the cost of human interface (upper case only, six character file names) was not a very good trade-off, but large databases (which SSN's imply) are a different matter. -Barry Shein, Boston University