cross module optimization issues
neil.mitchell.2 at credit-suisse.com
Fri Nov 21 05:39:46 EST 2008
I'm vaguely curious, and have next week off, so if you can provide the
code, and directions for running in both variants and the test case,
I'll take a look. Please email me at ndmitchell -AT- gmail.com though,
as I loose this email address at 11pm tonight :-)
> -----Original Message-----
> From: glasgow-haskell-users-bounces at haskell.org
> [mailto:glasgow-haskell-users-bounces at haskell.org] On Behalf
> Of Simon Peyton-Jones
> Sent: 21 November 2008 10:34 am
> To: John Lato
> Cc: glasgow-haskell-users at haskell.org; Don Stewart
> Subject: RE: cross module optimization issues
> | This project is based on Oleg's Iteratee code; I started using his
> | IterateeM.hs and Enumerator.hs files and added my own stuff to
> | Enumerator.hs (thanks Oleg, great work as always). When I started
> | cleaning up by moving my functions from Enumerator.hs to
> MyEnum.hs, my
> | minimal test case increased from 19s to 43s.
> | I've found two factors that contributed. When I was cleaning up, I
> | also removed a bunch of unused functions from IterateeM.hs (some of
> | the test functions and functions specific to his running example of
> | HTTP encoding). When I added those functions back in, and added
> | INLINE pragmas to the exported functions in MyEnum.hs, I got the
> | performance back.
> | In general I hadn't added export lists to the modules yet, so all
> | functions should have been exported.
> I'm totally snowed under with backlog from my recent absence,
> so I can't look at this myself, but if anyone else wants to
> I'd be happy to support with advice and suggestions.
> In general, having an explicit export list is good for
> performance. I typed an extra section in the GHC performance
> resource http://haskell.org/haskellwiki/Performance/GHC to
> explain why. In general that page is where we should
> document user advice for performance in GHC.
> I can't explain why *adding* unused functions would change
> performance though!
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users at haskell.org
Please access the attached hyperlink for an important electronic communications disclaimer:
More information about the Glasgow-haskell-users