RE: Re[2]: Patch for Word64

2005-11-25 Thread Simon Marlow
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#

Re[2]: Patch for Word64

2005-11-24 Thread Bulat Ziganshin
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#`

Re[2]: Patch for Word64

2005-11-23 Thread Bulat Ziganshin
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

Re: Patch for Word64

2005-11-23 Thread Matt
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

Patch for Word64

2005-11-21 Thread Matt
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

Re: Patch for Word64

2005-11-21 Thread Bulat Ziganshin
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