[Haskell-cafe] Performance: MD5
andrewcoppin at btinternet.com
Sun May 18 08:08:02 EDT 2008
Bulat Ziganshin wrote:
> Hello Andrew,
> Sunday, May 18, 2008, 3:42:23 PM, you wrote:
>> Isn't there some function kicking around somewhere for acessing arrays
>> without the bounds check? Similarly, I'm sure I remember the Data.Bits
>> bounds check being mentioned before, and somebody saying they had [or
>> were going to?] make an unsafe variant available. I've looked around the
>> library documentation and I'm not seeing anything... any hints?
Found in Data.Array.Base, apparently. (I managed to find an example in
the Gtk2hs "fastdraw" demo.)
Oddly, this seems to make virtually no performance difference. I find
this highly surprising. But then, I perform 16 write to the array, and
64 reads from the ByteString, so maybe that's where I should be worrying
about bounds checks...
> (I# a) <<# (I# b) = (I# (a `iShiftL#` b))
> (I# a) >># (I# b) = (I# (a `uncheckedIShiftRL#` b))
Does it make a difference if I want Word32 instead of Int?
More information about the Haskell-Cafe