Summary of containers patches

John Lato jwlato at gmail.com
Fri Sep 24 05:27:13 EDT 2010


>
> From: Don Stewart <dons at galois.com>
>
> ivan.miljenovic:
> > On 24 September 2010 14:36, Michael Snoyman <michael at snoyman.com> wrote:
> > > On Fri, Sep 24, 2010 at 6:26 AM, Don Stewart <dons at galois.com> wrote:
> > >> Perhaps a containers-inline fork is needed, for those who still need
> the speed.
> > >
> > > Would it be possible to use CPP to turn the INLINE flags into a
> > > compile-time argument, ie:
> > >
> > > #ifdef INLINE
> > > {-# INLINE #-}
> > > #endif
> >
> > Since containers ships with GHC, wouldn't this then require an extra
> > flag being used when building GHC to enable this?
> >
> > And then to use it, you'd have to build your own GHC rather than using
> > a pre-built binary like just about everyone does...
> >
> > > I'd hate to start seeing incompatible Data.Map.Maps floating around.
> >
> > Agreed.  At the very least if there was a fork it would presumably
> > have to be in a different module namespace to avoid namespace
> > collisions, which would make the incompatability obvious.
>
> We're talking about a 3% increase in the size of the Map, a 2% size in
> the Map.hs benchmark binary, right?
>
> For a 50% increase in Map function performance.
>

I agree.  The benefits are significant, and Map is one of the most
fundamental (and widely-used) data structures in the language.  The binary
size increase just doesn't seem important in comparison.

John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/libraries/attachments/20100924/88da4906/attachment.html


More information about the Libraries mailing list