
Accidentally didn't address the mailing list: Additionally, if you want to investigate things like cache misses, etc. Intel VTune Amplifier is an amazing profiling tool and there is a non-commercial open source license available for it. Cheers, Merijn
On 31 Aug 2016, at 11:52, Ramakrishnan Muthukrishnan
wrote: On Tue, Aug 30, 2016, at 08:53 PM, Rob Stewart wrote:
Any Haskell profiling and performance tuning blog or tutorial will advise the use of memory space and runtime profiling, using GHC tooling. Far less is said about the impact of increased cache miss rates as program size increases.
The paper "Secrets of the Glasgow Haskell Compiler inliner", in the Journal of Functional Programming, July 2002, talks a lot about the benefits of inlining, i.e. it's part of GHCs simplifier as it enables many other optimisations, some that ultimately reduce program size.
Not much is said about detrimental effect that bad inlining choices has to runtime. The paper says: "Bloated programs are bad (increased compilation time, lower cache hit rates)" in Section 2.2.
I'd really like to see how badly Haskell runtimes are affected as cache hit rates decrease. Is anyone aware of any empirical studies, or papers, or blog posts, that show examples where:
For the same Haskell program, increasing inlining causes lower cache hit rates, which slows down runtime due to costly cycles to fetch from main memory more often.
Hi Rob,
Have you looked at the `perf' tool supported in recent linux kernel versions? It seem to have tools to report cache statistics.
http://developers.redhat.com/blog/2014/03/10/determining-whether-an-applicat...
I haven't used it on Haskell programs though..
-- Ramakrishnan _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.