Re: GHC 6.12.1 and impredicative polymorphism

2009-11-13 Thread Dan Doel
On Friday 30 October 2009 5:51:37 am Simon Peyton-Jones wrote: > One more update about GHC 6.12, concerning impredicative polymorphism. > > GHC has had an experimental implementation of impredicative polymorphism > for a year or two now (flag -XImpredicativePolymorphism). But > > a) The implem

Re: Inliner behaviour - tiny changes lead to huge performance differences

2009-11-13 Thread David Menendez
On Fri, Nov 13, 2009 at 2:04 AM, Bryan O'Sullivan wrote: > > And the lengthI function is defined more generally, in the hope that I could > use it for both Int and Int64 lengths: > > lengthI :: Integral a => Stream Char -> a > lengthI (Stream next s0 _len) = loop_length 0 s0 >     where >       lo

Re: 3 questions regarding profiling in ghc

2009-11-13 Thread Duncan Coutts
On Fri, 2009-11-13 at 17:18 +0300, Daniil Elovkov wrote: > > Did you use "-auto-all", to automatically create cost centers for all > > top-level functions? I find that I get very verbose cost info for > > definitions under imported libraries. > > Yeah, I've got it. Modules in packages were done

Re[2]: Inliner behaviour - tiny changes lead to huge performance differences

2009-11-13 Thread Bulat Ziganshin
Hello Simon, Friday, November 13, 2009, 4:43:34 PM, you wrote: > I think I can explain this one, at least partially. When you mark a > function INLINE, GHC does not optimise the body of the function itself, > on the grounds that it will be inlined at the call site anyway and get > optimised ther

Re: 3 questions regarding profiling in ghc

2009-11-13 Thread Daniil Elovkov
John Dorsey wrote: Daniil, While you're waiting for an answer from a GHC internals expert, here's my experience as a fellow user. 1) Can I profile my program if I don't have all the libraries it depends on compiled with profiling? I don't know how to do that, and I don't know how to automat

Re: Inliner behaviour - tiny changes lead to huge performance differences

2009-11-13 Thread Simon Marlow
On 13/11/2009 07:04, Bryan O'Sullivan wrote: I'm working on measuring and improving the performance of the text library at the moment, and the very first test I tried demonstrated a piece of behaviour that I'm not completely able to understand. Actually, I'm not able to understand what's going on

RE: Inliner behaviour - tiny changes lead to huge performance differences

2009-11-13 Thread Simon Peyton-Jones
Bryan | I'm working on measuring and improving the performance of the text library at the | moment, and the very first test I tried demonstrated a piece of behaviour | that I'm not completely able to understand. Actually, I'm not able to | understand what's going on at all, beyond a very shall

Re: Inliner behaviour - tiny changes lead to huge performance differences

2009-11-13 Thread Roman Leshchinskiy
On 13/11/2009, at 18:04, Bryan O'Sullivan wrote: main = do args <- getArgs forM_ args $ \a -> do s <- B.readFile a let t = T.decodeUtf8 s print (T.length t) The streamUtf8 function looks roughly like this: streamUtf8 :: OnDecodeError -> ByteString -> Stream Char streamUtf8 onEr

RE: 3 questions regarding profiling in ghc

2009-11-13 Thread Simon Peyton-Jones
| > 1) Can I profile my program if I don't have all the libraries it depends | > on compiled with profiling? I'm afraid not. It's one of the shortcomings of GHC's profiler, but it's hard to overcome. Simon ___ Glasgow-haskell-users mailing list Glasgow