--- On Thu, 10/15/09, Simon Peyton-Jones <[email protected]> wrote:
> From: Simon Peyton-Jones <[email protected]> > Subject: RE: [Fwd: Re: [clean-list] Clean versus Haskell] > To: "Adrian Hey" <[email protected]>, "[email protected]" > <[email protected]> > Date: Thursday, October 15, 2009, 12:22 AM > I submitted Philippos as a > performance bug to GHC's trac, here: > http://hackage.haskell.org/trac/ghc/ticket/3586 > > If you follow the link you'll see lots of commentary, > including a version that generates code twice as fast as > Clean's, and is purely functional. > > That said, I think it's v bad that a straightforward > program runs so slowly, and it's certainly true that this is > an area we could pay more attention to. (Trouble is, > there are so many such areas!) > > Meanwhile, I'm curious: are the arrays in Philippos's > program strict? Or lazy? If strict, that's a > pretty big difference. (The "STU" arrays mentioned in > the above link are strict and unboxed; that's what the "U" > means.) > > Simon I'm curious too - does the answer depend on whether the strictness analyzer is enabled (strict context?) or is an unboxed array always strict? strictness analyzer - off "arraytest" fn :: Int *(a Real) Real -> Real | Array a Real vt :: .{#Real} fn :: Int *{#Real} Real -> Real Start :: Real 280000000 Execution: 1.81 Garbage collection: 0.01 Total: 1.82 strictness analyzer - on "arraytest" fn :: !Int *(a Real) !Real -> Real | Array a Real vt :: .{#Real} fn :: !Int *{#Real} !Real -> Real Start :: Real 280000000 Execution: 0.15 Garbage collection: 0.00 Total: 0.15 _______________________________________________ clean-list mailing list [email protected] http://mailman.science.ru.nl/mailman/listinfo/clean-list
