[GHC] #8900: unordered-containers 16% slower in HEAD vs 7.6.3
GHC
ghc-devs at haskell.org
Sat Mar 15 21:14:05 UTC 2014
#8900: unordered-containers 16% slower in HEAD vs 7.6.3
--------------------------------------------+------------------------------
Reporter: tibbe | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.9
Resolution: | Keywords:
Operating System: MacOS X | Architecture: x86_64
Type of failure: Runtime performance bug | (amd64)
Test Case: | Difficulty: Unknown
Blocking: | Blocked By:
| Related Tickets:
--------------------------------------------+------------------------------
Comment (by tibbe):
While the extra `case` is definitely a regression, it doesn't seem to be
the cause of the time difference. Changing `A.index` to:
{{{
#!haskell
index :: Array a -> Int -> (# a #)
index ary _i@(I# i#) =
indexArray# (unArray ary) i#
}}}
and the snippet from `Data.HashMap.Base` to:
{{{
#!haskell
go h k x s t@(Full ary) =
let !(# st #) = A.index ary i
!st' = go h k x (s+bitsPerSubkey) st
}}}
makes the difference in the Core go away, but the time difference remains.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8900#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list