[GHC] #7367: Optimiser / Linker Problem on amd64

GHC ghc-devs at haskell.org
Thu Aug 29 07:59:26 UTC 2013


#7367: Optimiser / Linker Problem on amd64
--------------------------------------------+------------------------------
        Reporter:  wurmli                   |            Owner:
            Type:  bug                      |           Status:  new
        Priority:  normal                   |        Milestone:  7.8.1
       Component:  Build System             |          Version:  7.6.1
      Resolution:                           |         Keywords:
Operating System:  Linux                    |     Architecture:  x86_64
 Type of failure:  Runtime performance bug  |  (amd64)
       Test Case:                           |       Difficulty:  Unknown
        Blocking:                           |       Blocked By:
                                            |  Related Tickets:
--------------------------------------------+------------------------------

Comment (by simonpj):

 wurmli, no I don't think it's reasonable. (Unless I'm missing something.)
 I have not looked very carefully, but I think this program does a lot of
 read/write of an imperatively-mutable `(STRef (Int,Int))`.  If we could
 eliminate those read/write pairs altogether, that would indeed be a good
 thing, but that is pretty hard to do, because in principle any computation
 of type `(ST s a)` might mutate that reference.  GHC simply doesn't have
 any serious optimisations for imperative code; it focuses on optimising
 functional code.

 To put it another way, what program would you expect GHC to transform your
 code into?

 Simon

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




More information about the ghc-tickets mailing list