
On Fri, Sep 24, 2010 at 6:26 AM, Don Stewart
bos:
On Thu, Sep 23, 2010 at 6:17 PM, Don Stewart
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