Summary of containers patches

Don Stewart dons at galois.com
Thu Sep 23 12:56:15 EDT 2010


marlowsd:
> On 23/09/2010 14:25, Milan Straka wrote:
>> Hi Simon,
>>
>> as you probably know, there are several containers patches dealing with
>> performance, separate testsuite and benchmarking.
>>
>> Specifically, I mean tickets
>> http://hackage.haskell.org/trac/ghc/ticket/4277
>> http://hackage.haskell.org/trac/ghc/ticket/4279
>> http://hackage.haskell.org/trac/ghc/ticket/4280
>> http://hackage.haskell.org/trac/ghc/ticket/4311
>> http://hackage.haskell.org/trac/ghc/ticket/4312
>> http://hackage.haskell.org/trac/ghc/ticket/4333
>>
>> I have all of them in the following repository
>> http://fox.auryn.cz/darcs/containers/
>>
>> There are no user-visible changes, just performance and the split
>> testsuite.
>>
>> There were no comments in some time, so I would like to push them to
>> containers.
>>
>> There is just the code-bloat issue to solve. The excessive use of INLINE
>> pragma causes a large code bloat. I am aware of it, it happened even
>> when I was benchmarking the containers.
>>
>> Personally I vote for:
>> - changing INLINE to INLINABLE
>> - leave INLINE just in
>>    - member/lookup functions
>>    - insert* functions
>>    as these benefit from specialization a lot and do not cause such
>>    a bloat (measured during the internship, do not recall the numbers
>>    now).
>>
>> I suspect the performance to drop a bit, but I think it is better to
>> have a bit slower containers without such a code bloat.
>>

I'm not sure I agree with this. Any slowdown is not welcome.

Can you quantify the impact of code size? What does it harm?

-- Don


More information about the Libraries mailing list