[GHC] #6082: Program compiled with 7.4.1 runs many times slower than compiled with 7.2.2
GHC
cvs-ghc at haskell.org
Tue Jul 17 16:14:34 CEST 2012
#6082: Program compiled with 7.4.1 runs many times slower than compiled with 7.2.2
----------------------------------+-----------------------------------------
Reporter: gchrupala | Owner: pcapriotti
Type: bug | Status: new
Priority: high | Milestone: 7.4.3
Component: libraries (other) | Version: 7.4.1
Keywords: | Os: Unknown/Multiple
Architecture: Unknown/Multiple | Failure: Runtime performance bug
Difficulty: Unknown | Testcase:
Blockedby: | Blocking:
Related: |
----------------------------------+-----------------------------------------
Changes (by milan):
* cc: fox@… (added)
Comment:
Hi,
I also came across this bug.
The problem is that with array-0.4.0.0, the RULEs for unsafeFreeze and
unsafeThaw do not fire. The problem can be reproduced by copying the
attached `Test` module to either array-0.3.0.3 or array-0.4.0.0 package
and adding it to array.cabal. The `Test` module contains the following
method:
{{{
test bounds = m
where m = runSTUArray $ do
a <- newArray bounds 0
a' <- unsafeFreeze a
a'' <- unsafeThaw a'
let _ = a' :: UArray Int Int
_ = a'' `asTypeOf` a
return a
}}}
Here are the results of compilation with GHC-7.4.1:
{{{
array-0.3.0.3
Rule fired: Class op newArray
Rule fired: unsafeFreeze/STUArray
Rule fired: unsafeThaw/STUArray
Rule fired: Class op return
Rule fired: Class op >>=
Rule fired: Class op >>=
Rule fired: Class op >>=
Rule fired: Class op rangeSize
Rule fired: Class op rangeSize
Rule fired: unpack-list
}}}
{{{
array-0.4.0.0
Rule fired: Class op newArray
Rule fired: Class op return
Rule fired: Class op >>=
Rule fired: Class op >>=
Rule fired: Class op >>=
Rule fired: freeze/STUArray
Rule fired: thaw/STUArray
Rule fired: Class op rangeSize
Rule fired: Class op rangeSize
Rule fired: unpack-list
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/6082#comment:6>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list