[GHC] #8199: Get rid of HEAP_ALLOCED
GHC
ghc-devs at haskell.org
Fri Aug 30 03:45:02 UTC 2013
#8199: Get rid of HEAP_ALLOCED
----------------------------+----------------------------------------------
Reporter: ezyang | Owner: ezyang
Type: feature | Status: new
request | Milestone: 7.10.1
Priority: normal | Version: 7.7
Component: | Keywords:
Compiler | Architecture: Unknown/Multiple
Resolution: | Difficulty: Project (more than a week)
Operating System: | Blocked By:
Unknown/Multiple | Related Tickets:
Type of failure: |
None/Unknown |
Test Case: |
Blocking: |
----------------------------+----------------------------------------------
Comment (by ezyang):
Preliminary performance results (not all of nofib was compiling when I did
these):
{{{
--------------------------------------------------------------------------------
Program Size Allocs Runtime Elapsed TotalMem
--------------------------------------------------------------------------------
ansi +5.1% +0.0% 0.00 0.00 +0.0%
atom +5.1% +0.0% -3.5% -3.1% +0.0%
bernouilli +5.1% +0.0% +1.7% +1.7% +0.0%
exp3_8 +5.1% +0.0% +0.0% +0.0% +0.0%
gen_regexps +5.0% +0.0% 0.00 0.00 +0.0%
integrate +5.1% +0.0% 0.19 0.20 +0.0%
kahan +4.9% +0.0% +0.0% -0.7% +0.0%
paraffins +5.0% +0.0% 0.11 0.11 +0.0%
primes +5.1% +0.0% 0.07 0.07 +0.0%
queens +5.1% +0.0% 0.02 0.02 +0.0%
rfib +5.1% +0.0% 0.02 0.02 +0.0%
tak +5.1% +0.0% 0.02 0.02 +0.0%
wheel-sieve1 +5.1% +0.0% +0.5% +0.0% +0.0%
wheel-sieve2 +5.0% +0.0% -4.8% -4.8% +0.0%
x2n1 +5.1% +0.0% 0.01 0.01 +0.0%
--------------------------------------------------------------------------------
Min +4.9% +0.0% -4.8% -4.8% +0.0%
Max +5.1% +0.0% +1.7% +1.7% +0.0%
Geometric Mean +5.0% +0.0% -1.0% -1.2% +0.0%
}}}
Binary size bloat comes from all of the extra static indirection tables
nonsense; I'm sure we can squeeze it down a bit. Some pretty good
improvements in some cases. What I didn't see was any massive slowdowns
like I am seeing in ghc-stage2. So I ran nofib again -dynamic:
{{{
--------------------------------------------------------------------------------
Program Size Allocs Runtime Elapsed TotalMem
--------------------------------------------------------------------------------
ansi +5.9% +0.0% 0.00 0.00 +0.0%
atom +4.5% +0.0% -3.4% -3.8% +0.0%
bernouilli +5.3% +0.0% +0.0% +0.0% +0.0%
exp3_8 +5.6% +0.0% +0.0% +0.0% +0.0%
gen_regexps +3.9% +0.0% 0.00 0.00 +0.0%
integrate +4.6% +0.0% -2.7% -2.7% +0.0%
kahan +5.1% +0.0% +8.4% +8.4% +0.0%
paraffins +2.9% +0.0% 0.11 0.11 +0.0%
primes +5.5% +0.0% 0.07 0.07 +0.0%
queens +5.0% +0.0% 0.02 0.02 +0.0%
rfib +6.0% +0.0% 0.02 0.02 +0.0%
tak +5.5% +0.0% 0.01 0.01 +0.0%
wheel-sieve1 +4.4% +0.0% -2.4% -2.4% +0.0%
wheel-sieve2 +3.7% +0.0% -7.1% -6.3% +2.1%
x2n1 +4.1% +0.0% 0.01 0.01 +0.0%
--------------------------------------------------------------------------------
Min +2.9% +0.0% -7.1% -6.3% +0.0%
Max +6.0% +0.0% +8.4% +8.4% +2.1%
Geometric Mean +4.8% +0.0% -1.1% -1.1% +0.1%
}}}
kahan slows down, but not by much; certainly not the order of magnitude I
was seeing in ghc-stage2. I still don't really know what's up, so perhaps
the massive ghc-stage2 slowdown is a correctness bug somewhere, or perhaps
pessimal behavior when a lot of modules are loaded. Ugh! The worst kind of
bug.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8199#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list