On 24 November 2005 11:07, Bulat Ziganshin wrote:
Hello Matt,
Thursday, November 24, 2005, 7:52:23 AM, you wrote:
int64ToWord64# = unsafeCoerce#
word64ToInt64# = unsafeCoerce#
(W32# x#) + (W32# y#) = W32# (narrow32Word# (x# `plusWord#` y#))
(W64# x#) + (W64# y#) = W64#
Hello Matt,
Thursday, November 24, 2005, 7:52:23 AM, you wrote:
int64ToWord64# = unsafeCoerce#
word64ToInt64# = unsafeCoerce#
M (W32# x#) + (W32# y#) = W32# (narrow32Word# (x# `plusWord#` y#))
M (W64# x#) + (W64# y#) = W64# (int64ToWord64# (word64ToInt64# x#
M `plusInt64#`
Hello Simon,
Wednesday, November 23, 2005, 2:28:26 PM, you wrote:
SM int64ToWord64# = unsafeCoerce#
SM word64ToInt64# = unsafeCoerce#
SM this should reduce the cost of the conversions to zero, which is a
SM simpler way to fix the performance bug (if it works).
SM If you confirm that this
Bulat Ziganshin wrote:
Hello Simon,
Wednesday, November 23, 2005, 2:28:26 PM, you wrote:
int64ToWord64# = unsafeCoerce#
word64ToInt64# = unsafeCoerce#
this should reduce the cost of the conversions to zero, which is a
simpler way to fix the performance bug (if it works).
If you
performance, at least on the domain that I tested (==, +, -).
I can't check into the tree, so I was told to send my changes to this list.
Could someone else check them in? I have attached a patch file representing
my changes.
-Matt or [ricebowl, wearkilts, soysauce] on #haskell on Freenode
word64
Hello Matt,
Monday, November 21, 2005, 5:56:51 PM, you wrote:
M I was doing some work with Word64 and noticed that it was about 3 times
M slower than Int64. The reason appears to be expensive conversions from
M Int64# to Word64# and vice versa. I modified the libraries to remove the
M conversion