[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