darcs patch: Teach the inliner about primitive compar... (and
simonpj at microsoft.com
Fri Oct 13 04:26:51 EDT 2006
Thanks for the patches. It's great that you've dug into it enough to
figure out how to improve matters.
However, I have learned the hard way that there are swings and
roundabouts -- an improvement to one program can make others worse.
Our mechanism for figuring this out is to
- check out the nofib suite (darcs.haskell.org/nofib)
- run the suite before and after the patch (cd nofib; make
clean; make -k >& log)
- run the nofib-analyse script to compare the two logs
The third step produces a table showing whether runtimes and allocations
went down or up.
Could you do this and let us know how it goes?
| -----Original Message-----
| From: cvs-all-bounces at haskell.org [mailto:cvs-all-bounces at haskell.org]
On Behalf Of Samuel Bronson
| Sent: 12 October 2006 13:11
| To: cvs-ghc at haskell.org
| Subject: darcs patch: Teach the inliner about primitive compar... (and
| Tue Oct 10 16:43:01 EDT 2006 Samuel Bronson <naesten at gmail.com>
| * Teach the inliner about primitive comparisons against constants
| Wed Oct 11 18:12:37 EDT 2006 Samuel Bronson <naesten at gmail.com>
| * Merge imports
| This is for Data.Bits.shift. Inliner needs more work to deal with
| Data.Bits.rotate (there are lets involved). And someone took out all
| the import lists, so I had to merge my patch with that.
| Tue Oct 10 18:19:44 EDT 2006 Samuel Bronson <naesten at gmail.com>
| * Don't squish "Inlined fn" into the right margin quite as much in
| This is just a cosmetic change for the output of -ddump-inlinings. It
| has nothing to do with the other two, really.
More information about the Cvs-ghc