Summary of containers patches

Milan Straka fox at ucw.cz
Thu Sep 23 10:30:14 EDT 2010


>> 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.
>>
>> Simon, I will be flying to IFCP soon, but if you want, I can prepare the
>> INLINE->INLINABLE patches and put them in the repo.
>
> That would help a lot, thanks.  I started on this today but I'm a bit  
> overloaded, and getting criterion installed wasn't very smooth (a couple  
> of package breakages, but nothing serious and patches are upstream).

Great, I will look into it.

Is it alright if I push the rest of the performance patches first? (The
tickets I listed here.) That would make it much easier.

Cheers,
Milan

PS: I have ssh keys to be able to push.


More information about the Libraries mailing list