Summary of containers patches

Michael Snoyman michael at snoyman.com
Fri Sep 24 00:36:05 EDT 2010


On Fri, Sep 24, 2010 at 6:26 AM, Don Stewart <dons at galois.com> wrote:
> bos:
>> On Thu, Sep 23, 2010 at 6:17 PM, Don Stewart <dons at galois.com> wrote:
>>
>>     Well, I still don't understand what penalty the code bloat is exactly.
>>
>> It's going to push I-cache misses through the roof when there are umpteen
>> identical versions of the same function over Map ByteString Foo. Also, some of
>> us would like to ship applications written in Haskell, and network bandwidth is
>> a big concern there, having gone nowhere in years.
>
> Reducing binary sizes via dynamic linking is going to make a lot more of
> an impact than dditional unrolling. However, we have *no* other
> techniques for making containers faster.
>
> 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

I'd hate to start seeing incompatible Data.Map.Maps floating around.

Michael


More information about the Libraries mailing list