#5536: IO performance regression in 7.2 vs 7.0
---------------------------------+------------------------------------------
    Reporter:  simonmar          |        Owner:  batterseapower
        Type:  bug               |       Status:  new           
    Priority:  high              |    Milestone:  7.4.1         
   Component:  libraries/base    |      Version:  7.2.1         
    Keywords:                    |     Testcase:                
   Blockedby:                    |   Difficulty:                
          Os:  Unknown/Multiple  |     Blocking:                
Architecture:  Unknown/Multiple  |      Failure:  None/Unknown  
---------------------------------+------------------------------------------

Comment(by batterseapower):

 Yes it is a bit annoying. I do wonder, though, why two simple arithmetic
 comparisons are penalising the loops so much, especially considering that
 those loops already do a number of *other* tests.

 I wonder if the fact that with this test the Core looks something like:

 {{{
 case (case x of A -> C# ...; B -> C# ...; C -> C# ...) of c {
   loop (c:cs) x
 }
 }}}

 Is causing a problem? Even though we can't improve the core by doing a
 case-of-case transformation, doing so would avoid some stack manipulations
 at the cmm level.

 Perhaps the right thing to do is look at the generated ASM and see what is
 so different in the two versions.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5536#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to