[Haskell-cafe] Cache miss performance costs for Haskell programs?

Merijn Verstraaten merijn at inconsistent.nl
Wed Aug 31 10:34:31 UTC 2016


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 <ram at rkrishnan.org> 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-application-has-poor-cache-performance-2/>
> 
> 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.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20160831/7f9404df/attachment.sig>


More information about the Haskell-Cafe mailing list