Summary of containers patches
Milan Straka
fox at ucw.cz
Thu Sep 23 09:25:27 EDT 2010
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.
Cheers,
Milan
More information about the Libraries
mailing list