#1261: 15x performance regression between HEAD and 6.6
-------------------------------------------------+--------------------------
    Reporter:  Stefan O'Rear <[EMAIL PROTECTED]>  |       Owner:       
        Type:  bug                               |      Status:  new  
    Priority:  normal                            |   Milestone:       
   Component:  Compiler                          |     Version:  6.7  
    Severity:  normal                            |    Keywords:       
  Difficulty:  Unknown                           |    Testcase:       
Architecture:  x86                               |          Os:  Linux
-------------------------------------------------+--------------------------
GHC 6.7.20070213 and all later versions I have fail to unbox this:

 [EMAIL PROTECTED]:~/memset$ cat Memtest.hs
 import Foreign

 wset :: Int -> Int -> Ptr Int -> IO ()
 wset x y z | x `seq` y `seq` z `seq` False = undefined
 wset  0 vl pt = return ()
 wset ct vl pt = poke pt vl >> wset (ct - 1) vl (pt `advancePtr` 1)

 main = mallocArray (2^26) >>= wset (2^26) 42

 with a resultant 15x performance regression:

 [EMAIL PROTECTED]:~/memset$ ghc-6.7.20070213 -O3 Memtest.hs ; time ./a.out

 real    0m5.774s
 user    0m4.904s
 sys     0m0.768s
 [EMAIL PROTECTED]:~/memset$ ghc-6.6 -O3 Memtest.hs ; time ./a.out

 real    0m1.043s
 user    0m0.304s
 sys     0m0.724s

 (Toggling -fasm/-fvia-C makes no appreciable difference.)

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1261>
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