[GHC] #10108: Dramatic slowdown with -O2 bytestream and list streams combined.

GHC ghc-devs at haskell.org
Wed Apr 15 00:31:06 UTC 2015


#10108: Dramatic slowdown with -O2 bytestream and list streams combined.
-------------------------------------+-------------------------------------
        Reporter:  Truman            |                   Owner:
            Type:  bug               |                  Status:  new
        Priority:  normal            |               Milestone:  7.10.2
       Component:  Compiler          |                 Version:  7.8.4
      Resolution:                    |                Keywords:
Operating System:  Linux             |            Architecture:
 Type of failure:  Runtime           |  Unknown/Multiple
  performance bug                    |               Test Case:
      Blocked By:                    |  break_in.hs
 Related Tickets:                    |                Blocking:
                                     |  Differential Revisions:
-------------------------------------+-------------------------------------

Comment (by Truman):

 Sorry about not including the library information.  I should have known
 better.

 Here is a log showing compiling non-optimized, running, compiling
 optimized, and running again, that shows the runtime difference.  I
 shortened the input file (described above) to 5000 lines to speed things
 up, but the problem is still clear.

 The versions of the two seemingly relevant imports are:
 bytestring-0.10.4.0
 stream-fusion 0.1.2.5

 The log files detail lots of other information.

 I'm running GHC 7.8.4 under Arch Linux 3.19.2-1-ARCH, and I have tested
 and confirmed this on both 32 and 64 bit machines.

 I will attach the two verbose compilation log files.

 CPC~/ghc_prob> touch break_ins.hs
 CPC~/ghc_prob> ghc -v5 break_ins.hs >ghc_nopt.log 2>&1
 CPC~/ghc_prob> time break_ins <break_in.in >bi_nopt.out

 real    0m0.077s
 user    0m0.077s
 sys     0m0.003s
 CPC~/ghc_prob> touch break_ins.hs
 CPC~/ghc_prob> ghc -v5 -O2 break_ins.hs >ghc_opt.log 2>&1
 CPC~/ghc_prob> time break_ins <break_in.in >bi_opt.out

 real    0m3.110s
 user    0m3.090s
 sys     0m0.017s
 CPC~/ghc_prob>

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


More information about the ghc-tickets mailing list