
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? -- Don