I was doing some work with Word64 and noticed that it was about 3 times slower than Int64. The reason appears to be expensive conversions from Int64# to Word64# and vice versa. I modified the libraries to remove the conversion overhead, and the result is that Int64# and Word64# now have equal 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
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 overhead, and the result is that Int64# and Word64# now have M> equal performance, at least on the domain that I tested (==, +, -). the original code seems to be automatically generated. imho, we are not need to touch all these code, but concentrate on eliminating cost of conversions between these two types: int64ToWord64# = id word64ToInt64# = id -- Best regards, Bulat mailto:bulatz@HotPOP.com
participants (2)
-
Bulat Ziganshin -
Matt