Hi,
Thanks for the feedback! I have uploaded a new version of value
supply with the following changes that should improve performance.
- It uses unsafeDupableInterleaveIO to avoid double locking,
- Do not create an intermediate list for Enum and Num supples
- Specialize code for Int, as this
Thanks for pointing me at Iavors package. We should not have two
different libraries for the same purpose.
value-supply-0.2 is about 6-7 times slower than GHC's UniqSupply, but
porting Simons suggestion (to use unsafeDupableInterleaveIO) into
Iavors code, GHC is "only" about twice as fast.
Krzysztof Skrzętnicki wrote:
Hello everyone
Please visit these to pages:
http://www.haskell.org/ghc/docs/6.8.3/html/libraries/haskell98/CTypes.html
-- ver 0.9
http://www.haskell.org/ghc/docs/6.10.1/html/libraries/haskell98/CTypes.html
-- ver 2.3.0
They show documentation produced by Haddock.
Iavor Diatchki wrote:
Hello,
I have made the two changes that Simon suggested and uploaded a new
version of the library. By the way, GHC seemed to work correctly
even without the extra boolean parameter, perhaps it treats
unsafePerformIO specially somehow? A somewhat related question: I
ended