Loading ...
Sorry, an error occurred while loading the content.

Re: [PrimeNumbers] How fast is your GCD code? Here's mine...

Expand Messages
  • Phil Carmody
    From: Jack Brennen ... Which is classic UB. Nacked-by: Phil
    Message 1 of 12 , Jan 4, 2012
    • 0 Attachment
      From: Jack Brennen <jfb@...>
      > Apologies once again, but I don't
      > want to leave broken code out there...

      A noble aim. So why did you overlook this:

      > >>     int64 d;
      > >>       d&= d>>63;     //where 63+1=wordsize of uint64s

      Which is classic UB.

      Nacked-by: Phil
    • Phil Carmody
      From: WarrenS ... It s a sparse enough inner loop that I can easily imagine the increased dependency makes it slower. What s the latency
      Message 2 of 12 , Jan 4, 2012
      • 0 Attachment
        From: WarrenS <warren.wds@...>
        > > > b -= d+d+a;
        > > > a += d; //the obvious "optimization" of this
        > & previous line... makes it slower!
        > > > (...)
        > >
        > >
        > > I can't imagine that
        > > a += d ; b -= d+a
        > > would be slower.
        >
        > --it is slower! On my computer, anyhow.

        It's a sparse enough inner loop that I can easily imagine the increased dependency makes it slower. What's the latency of an add nowadays? I know it's crept up to about 6 in the past decade (at least on the SIMD units). Something like that's a huge bubble, and should definitely be avoided.

        Phil
      Your message has been successfully submitted and would be delivered to recipients shortly.