[Haskell-cafe] Performance help
Derek Elkins
derek.a.elkins at gmail.com
Tue Nov 13 21:31:07 EST 2007
On Tue, 2007-11-13 at 14:21 -0800, Ryan Ingram wrote:
> On 11/13/07, Ryan Ingram <ryani.spam at gmail.com> wrote:
> Also, what stops getRule from going off the end of the array?
> I didn't see anything that prevented that in the code, and
> you're using unsafeAt, which seems like a potential bug.
>
> Never mind, I realized this is a ring buffer with `mod` s. That's
> another slow operation when you're doing code as tight as this. If
> you can guarantee the ring is a power of 2 in size you can use a mask
> instead, or use my original suggestion of deriving rules from the
> previous rule and the new bit; the initial state is determined by the
> last bits in the buffer and you never wrap.
rem is faster than mod and equivalent if everything is positive.
More information about the Haskell-Cafe
mailing list