Brian, You might also want to take a look at the list fusion functionality in GHC which often can help optimize your programs when programming with lists. http://www.haskell.org/ghc/docs/latest/html/users_guide/rewrite-rules.html#id3153234 It doesn't help in your particular program but it might be usable for you in the future.
Cheers, /Josef On 5/3/06, Brian Hulley <[EMAIL PROTECTED]> wrote:
Bulat Ziganshin wrote: > [ideas including reverseMapM_] > you will laugh, but speed of your two solutions depends on so many > factors (including size of CPU cache) that noone can say that is > better in general. although for small lists reverseMapM_ should be > faster than reverse+mapM. what will be faster - using of higher-order > function or direct recursion, i can't say, it's a really > counter-intuitive area of ghc optimizer :) > > of course, i don't think that all that really matters for your program > (drawing should anyway need much more time than looping). just use > higher-level approach (that makes code simpler to write, understand > and maintain) and don't bother your mind :) Hi Bulat! Thanks for the suggestions about reverseMapM_ etc. It seems that since the speeds of the two solutions can be relatively faster/slower on different platforms/CPUs I might as well just use the combination of existing functions mapM_ and reverse at the moment to get readable code with the least amount of effort :-) Best regards, Brian. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe