#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
_______________________________________________
ghc-tickets mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/ghc-tickets