[GHC] #7411: Exceptions are optimized away in certain situations
GHC
ghc-devs at haskell.org
Wed Jun 20 18:56:58 UTC 2018
#7411: Exceptions are optimized away in certain situations
-------------------------------------+-------------------------------------
Reporter: SimonHengel | Owner: tdammers
Type: bug | Status: new
Priority: high | Milestone: 8.8.1
Component: Compiler | Version: 7.6.1
Resolution: | Keywords: seq, deepseq,
| evaluate, exceptions
Operating System: Linux | Architecture: x86_64
| (amd64)
Type of failure: Incorrect result | Test Case:
at runtime | simplCore/should_fail/T7411
Blocked By: | Blocking:
Related Tickets: #5129 #15225 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by tdammers):
OK, so it turns out that make clean doesn't actually clean things up
thoroughly enough. I did another test run, building both GHC and nofib
from a fresh checkout for each run, and now everything works just fine. So
it seems that the core dumps I got earlier were somehow caused by
artifacts from a previous build still being in the build tree somewhere;
clearly if you link things together in ways they weren't meant to, strange
behavior is to be expected.
Now armed with that, and a fixed `fasta` implementation from #15225, I
managed to do six nofib runs; the interesting ones are:
- Both GHC and nofib compiled with the state hack in place - this is the
current situation (`nofibrun-gs_ns2.log`)
- GHC with the state hack, nofib compiled with `-fno-state-hack`
(`nofibrun-gs-nn2.log`
- Both GHC and nofib compiled with `-fno-state-hack` (`nofibrun-
gn_nn2.log`)
Results from nofib-analyse attached; key takeaway however is that the
difference overall is small and slightly in favor of removing the state
hack. A few interesting deviations that stand out:
- GHC compiled with `-fno-state-hack` consistently produces larger
binaries, by about 5%
- Programs compiled with a GHC compiled with `-fno-state-hack` run faster
by 3.2% on average, but there is a lot of deviation
- Most of the above improvements seem to be from more efficient GC
- Compile times differ drastically; vanilla GHC compiling programs with
`-fno-state-hack` is 23.6% faster on average than the same compiler with
the state hack; compiling GHC itself with `-fno-state-hack` and then
compiling the nofib suite also with `-fno-state-hack` is almost 50% faster
than compiling everything normally. The difference in allocations is even
more whopping, with 35.5% and 58.3% respectively.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/7411#comment:43>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list