Path: utzoo!attcan!uunet!cs.utexas.edu!wuarchive!decwrl!fernwood!portal!cup.portal.com!ts From: ts@cup.portal.com (Tim W Smith) Newsgroups: comp.lang.c Subject: Re: count of bits in a long Message-ID: <34815@cup.portal.com> Date: 13 Oct 90 12:53:47 GMT References: <826@neccan.oz> <26881@mimsy.umd.edu> Organization: The Portal System (TM) Lines: 30 These times were given in a recent post for some 68020 based Sun: function time ratio hackmemmod 0.00077819824 1.821 hackmemloop 0.00059890747 1.402 hackmemunrolled 0.00050354004 1.179 rmlsbsub 0.00069808960 1.634 rmlsbmask 0.00055313110 1.295 testlsb 0.00107955930 2.527 testmsb 0.00251007080 5.875 testsignandshift 0.00242614750 5.679 testeachbit 0.00254821780 5.964 testeachbit1shl 0.00362014770 8.473 tableshift 0.00083160400 1.946 tableuchar 0.00042724609 1.000 Something is seriously wrong with either these numbers or that computer. I've tried a couple of these on my Mac II, using Think C. Note that 1) Apple is not noted for squeezing the last drop of performance out of the 68020, and 2) Think C has not stressed optimal code generation. I get 36 usec for rmlsub on longs with all 32 bits set, 20 usec if 16 bits are set, and 5 usec of no bits are set. Note that the Sun is getting, in the average case for rmlsub, 20 times worse performance than I am getting for the worst case. Tim Smith