darcs patch: Don't charge for int2Word# and word2Int# -- theydon't...

Simon Marlow simonmarhaskell at gmail.com
Mon Nov 6 05:54:44 EST 2006


Samuel Bronson wrote:
> Oops. I accidentally sent this just to SPJ... sorry!
> 
> On 10/31/06, Simon Peyton-Jones <simonpj at microsoft.com> wrote:
> 
>> Sam
> 
> 
>> How to progress?  Rather than try to follow the detailed path of your
>> investigation, I wonder if you might do the following.  When you achieve
>> a stable situation where you think you have a collection of
>> modifications that improve at least some programs, without making any
>> significantly worse (you can negotiate about exceptions) send a patch or
>> patches (to GHC and the libraries) that implements your proposal, along
>> with a summary of what they do (unless that's all clear from the patch
>> messages themselves).  Preferably without patches that do X and later
>> undo X...
>>
>> That way Simon and Ian and I can review and test one thing.  Does that
>> make sense?
> 
> 
> Yeah. I've been under the impression that that was going to have to
> happen before my patches were applied, I've basically just been hoping
> for tips. Or "oh god no, don't do that! do this instead!" or
> something. I've been working with a definition of "significant" where
> 1% slower doesn't count, but 5% does. And I've been assuming that a 1%
> all-around increase in code size isn't too bad. And lately (since the
> patch that doesn't consider unlifted args interesting unless they are
> literals), I haven't seen *any* changes in allocation from my
> unpatched tree. Hopefully with my patch to build the libraries with
> -fext-core I will actually be able to figure out what is going on in
> the libraries (which seems to be where a lot of the differences that
> matter are). I assume there aren't really any performance
> considerations there ;-).

I find the instruction counts and memory read/write counts from cachegrind are 
good things to compare, as a slightly more sensitive, but still deterministic, 
alternative to allocations.  Caveats apply of course - these figures are not 
always a good indicator for real world performance, but they are still a useful 
tool if you bear this in mind.

Cheers,
	Simon


More information about the Cvs-ghc mailing list