[GHC] #6082: Program compiled with 7.4.1 runs many times slower than compiled with 7.2.2
GHC
cvs-ghc at haskell.org
Thu Jun 14 14:04:23 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 pcapriotti):
* component: Compiler => libraries (other)
Comment:
The problem seems to have been introduced in the last version of the
`array` library. Here is a minimal test case:
{{{
import Control.Monad
import Data.Array.ST
import Data.Array.Unboxed
import Control.Monad.ST
type DenseVector i = UArray i Float
main = do
let lo = (0,0)
hi = (1000,1000)
m = test (lo, hi)
print $ bounds m
test bounds = m
where m = runSTUArray $ do
params <- newArray bounds 0
replicateM_ 10000 $ do
params' <- {-# SCC "freeze" #-} unsafeFreeze params
let _ = params' :: DenseVector (Int,Int)
return ()
return params
foo :: DenseVector (Int,Int) -> ST s ()
foo _ = return ()
}}}
The `unsafeFreeze` call is significantly slower with `array-0.4.0.0` than
`array-0.3.0.3`.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/6082#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list