diff options
| author | Edward Z. Yang <ezyang@mit.edu> | 2012-09-17 18:28:49 +0200 |
|---|---|---|
| committer | Edward Z. Yang <ezyang@mit.edu> | 2012-09-26 13:46:57 -0700 |
| commit | d3128bfc286002862e916296629a22f1ce987e4e (patch) | |
| tree | b819a5ba9bb6079775186726a603e96cbf26c9fb /compiler/codeGen/CgParallel.hs | |
| parent | 2145ffc452a64bae457a38276c81b60f22ddf161 (diff) | |
| download | haskell-d3128bfc286002862e916296629a22f1ce987e4e.tar.gz | |
Partially fix #367 by adding HpLim checks to entry with -fno-omit-yields.
The current fix is relatively dumb as far as where to add HpLim
checks: it will always perform a check unless we know that we're
returning from a closure or we are doing a non let-no-escape case
analysis. The performance impact on the nofib suite looks like this:
Min +5.7% -0.0% -6.5% -6.4% -50.0%
Max +6.3% +5.8% +5.0% +5.5% +0.8%
Geometric Mean +6.2% +0.1% +0.5% +0.5% -0.8%
Overall, the executable bloat is the biggest problem, so we keep the old
omit-yields optimization on by default. Remember that if you need an
interruptibility guarantee, you need to recompile all of your libraries
with -fno-omit-yields.
A better fix would involve only inserting the yields necessary to break
loops; this is left as future work.
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Diffstat (limited to 'compiler/codeGen/CgParallel.hs')
0 files changed, 0 insertions, 0 deletions
