Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #19983

Re: ffs16

From jgk@panix.com (Joe keane)
Newsgroups comp.arch, comp.lang.c
Subject Re: ffs16
Date 2012-04-26 20:41 +0000
Organization Public Access Networks Corp.
Message-ID <jncbsu$sb3$1@reader1.panix.com> (permalink)
References <jn1tku$pga$1@reader1.panix.com> <9kmj69-hhi2.ln1@ntp6.tmsw.no> <jn9q4m$4dk$1@reader1.panix.com> <qgem69-75r2.ln1@ntp6.tmsw.no>

Cross-posted to 2 groups.

Show all headers | View raw


In article <qgem69-75r2.ln1@ntp6.tmsw.no>,
Terje Mathisen  <"terje.mathisen at tmsw.no"> wrote:
>Problem two: The tests have a really funky way to randomize the tests 
>(multiply by 31), which means that the table lookup version will have 
>very close to 100% branch prediction hits for the pattern of switching 
>between the top and low byte.

The big problem is that the distribution is wrong.  I think we want
values of the *output* to be about equally probable, so the branch is
taken 50%.  And of course we don't want it to be too predictable.  

Of course there's the case where it runs smoothly with some stupid toy
test program, but goes haywire when it's inside a 'real' program.  Miss
rate higher than 10% scares me; mispredicted branches are -bad-.

That explains my interest in 'branchless' code.  I don't care if it
tests worse for a simple case, if it can avoid some bad behavior.

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

ffs16 jgk@panix.com (Joe keane) - 2012-04-22 21:36 +0000
  Re: ffs16 Keith Thompson <kst-u@mib.org> - 2012-04-22 15:23 -0700
  Re: ffs16 Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-04-22 20:37 -0400
    Re: ffs16 Philip Lantz <prl@canterey.us> - 2012-04-24 06:36 -0700
      Re: ffs16 Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-04-24 20:32 -0400
        Re: ffs16 Philip Lantz <prl@canterey.us> - 2012-04-25 00:30 -0700
  Re: ffs16 Terje Mathisen <"terje.mathisen at tmsw.no"> - 2012-04-23 16:22 +0200
    Re: ffs16 Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-04-23 21:46 -0400
      Re: ffs16 Terje Mathisen <"terje.mathisen at tmsw.no"> - 2012-04-24 14:16 +0200
        Re: ffs16 Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-04-24 20:40 -0400
    Re: ffs16 jgk@panix.com (Joe keane) - 2012-04-24 19:06 +0000
      Re: ffs16 Terje Mathisen <"terje.mathisen at tmsw.no"> - 2012-04-25 00:38 +0200
        Re: ffs16 jgk@panix.com (Joe keane) - 2012-04-25 20:08 +0000
          Re: ffs16 "James Van Buskirk" <not_valid@comcast.net> - 2012-04-25 15:06 -0600
            Re: ffs16 "James Van Buskirk" <not_valid@comcast.net> - 2012-04-25 16:30 -0600
        Re: ffs16 jgk@panix.com (Joe keane) - 2012-04-25 21:25 +0000
          Re: ffs16 Terje Mathisen <"terje.mathisen at tmsw.no"> - 2012-04-26 01:38 +0200
            Re: ffs16 jgk@panix.com (Joe keane) - 2012-04-26 19:34 +0000
            Re: ffs16 jgk@panix.com (Joe keane) - 2012-04-26 20:41 +0000
              Re: ffs16 Terje Mathisen <"terje.mathisen at tmsw.no"> - 2012-04-27 02:47 +0200

csiph-web