#7429: Unexplained performance boost with +RTS -h --------------------------------------+------------------------------------- Reporter: simonmar | Owner: Type: bug | Status: closed Priority: normal | Milestone: 7.8.1 Component: Compiler | Version: 7.6.1 Resolution: wontfix | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Runtime performance bug | Difficulty: Unknown Testcase: | Blockedby: Blocking: | Related: --------------------------------------+------------------------------------- Changes (by simonmar):
* status: new => closed * resolution: => wontfix Comment: Aha - of course I was forgetting something, the GC will also eliminate the indirections, and that seems to explain the difference at least in `Main2.hs`. In the original version, the data structure with the indirections is enough to push it over the size of the L1 cache, so all the misses are capacity misses (on my machine anyway). In `Main2.hs`, the difference is all due to having to traverse the extra indirections in the data structure. Mystery solved - and I don't think there's anything we can do here. If it is important to make this case go fast, you might try to rewrite the program so that it creates the data structure strictly, which will eliminate the indirections at creation time. -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7429#comment:9> 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