Summary of containers patches

Don Stewart dons at galois.com
Thu Sep 23 12:59:58 EDT 2010


dons:
> 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?
> 

No worries, saw the INLINEABLE thread. Looks good.

I'm not happy with slowdowns though.

-- Don


More information about the Libraries mailing list