- User Since
- Jun 13 2014, 5:19 PM (193 w, 4 h)
fix spurious whitespace change
Tue, Feb 20
What is the motivation for this change? Is there a Trac ticket for it?
Mon, Feb 19
I run nofib a couple of time and it's hard to see anything among the noise P175. I don't *think* I have cpu scaling on, is usually less noisy for other people?
update test output
Thu, Feb 8
Tue, Feb 6
Fri, Feb 2
Jan 23 2018
Jan 21 2018
Jan 20 2018
remove outdated comment
Jan 15 2018
I'm not sure I understand why it is leaking. Surely we should be able to expunge the old binding after it is shadowed, no?
Jan 14 2018
Jan 10 2018
Jan 5 2018
add a test
Jan 4 2018
use only mkDataTyConRhs
Jan 3 2018
- address @simonpj's comment
Dec 26 2017
adding a comment
Dec 20 2017
There's a couple of things I need to do here.
It's unlikely I'm going to find time before the holidays.
Dec 15 2017
You're right, perhaps this should be made clear in the comment.
Dec 14 2017
- add a test
- deal with newCAF coming from the shared obj
Dec 12 2017
I think I diffed out from the wrong branch
fix 2 bugs
rts\Linker.c:2003:6: error: 328 error: function might be candidate for attribute 'noreturn' [-Werror=suggest-attribute=noreturn] 329 void freeNativeCode (NativeCode *nc) 330 ^~~~~~~~~~~~~~ 331 | 332 2003 | void freeNativeCode (NativeCode *nc) 333 | ^
I'm happy to take naming suggestions and suggestions about where to put the code.
rebase on a clean HEAD
sigh... arc diff incorrectly used the bottom of my stack as base
Nov 27 2017
Nov 21 2017
Nov 18 2017
Nov 14 2017
Oct 27 2017
Oct 25 2017
I think this change is strictly positive and that we will want to merge it independently of what further investigation might turn up.
Oct 24 2017
I see, I looked it up and my assumptions about how cache lines work were incorrect. I will dig some more.
Oct 22 2017
Triggering major GC before codegen here https://phabricator.haskell.org/diffusion/GHC/browse/master/compiler/main/HscMain.hs;1e24a243b30c4dd5a7f3476e3e9927c4eb915c72$1330 significantly reduces variance. I get timings between 9s and 10s where before they would be between 8s and 12s.
Ok, I'm back to the cache miss theory. I misread the context switches number, the rate is constant, the number is bigger because we run longer.
Next thing to try is to deterministically trigger GC before codegen and see if it improves cache locality.
Oct 21 2017
Since TLB is also affected a lot, I suspect the causal relationship here is: more context switches -> lower TLB + L1/L2 cache misses. What causes the context switches I don't know.
I want to try with --numa, but I need to rebuild GHC for that.
The performance counters don't support the cache-miss theory:
Sorry to turn this into a debugging session, but things that I don't understand (base revision performance variance in this case) bother me.
On linux I also get results between 12s and 8s on the base revision, but pretty stable results on this diff.
Hm, I don't trust my measurements here. It's overall a positive change, but I measured on OSX and the variance on the baseline was high. I get either 9s or 13s. I will remeasure on linux.
Oct 20 2017
This is not motivated by a real use case, I just had some time on the plane. It's not inconceivable though, to imagine enumerations this big.
Sep 18 2017
Sep 15 2017
I'm happy with this version, I will land it on Monday if no one objects.
Use @Phyx's suggestion
Sep 14 2017
Sep 13 2017
Did you mean to accept it?
Sep 11 2017
Aug 17 2017
Btw assuming the interface is still up for discussion, I'd prefer to be able to pass the filename. That way I can do -po/dev/null in the case I only care about snapshot profiling. That would mean the filenames for heap profiles and allocation profiles would have to be specified separately.
Aug 16 2017
I will continue this line of work.
There's a lot of overlap between this and D3132.