#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 _______________________________________________ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs