Summary of containers patches

Simon Marlow marlowsd at gmail.com
Thu Sep 23 10:09:33 EDT 2010


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.
>
> 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).

Cheers,
	Simon


More information about the Libraries mailing list