jeremy.shaw:
> At Tue, 27 Mar 2007 23:10:21 +0200,
> Fawzi Mohamed wrote:
> 
> > If someone has an idea on how else I can improve timings please tell me.
> 
> I believe you are seeing a speed decrease, because GHC is not inlining
> functions as much when you split them into modules. If you add
> explicit inline statements, I think you should be able to get back to
> your original timings.
> 
> Below is an example of how to add INLINE statements.
> 
> someFunction :: (Word8 -> Maybe Word8 -> Bool) -> B.ByteString -> B.ByteString
> someFunction = ...
> {-# INLINE someFunction #-}
> 
> I am not sure what the downsides are. It probably makes the resulting
> binary bigger, and takes longer to compile. Though, probably not any
> worse than if you just put everything in one module?
> 
> It might be the case that you only need to INLINE one or two functions
> to get most of the speed back.
> 

Yes, INLINE and compile with -O2.

-- Don
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to