
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