Add experimental support for dtrace-based profiling
authorRoman Leshchinskiy <rl@cse.unsw.edu.au>
Thu, 29 Oct 2009 13:29:13 +0000 (13:29 +0000)
committerRoman Leshchinskiy <rl@cse.unsw.edu.au>
Thu, 29 Oct 2009 13:29:13 +0000 (13:29 +0000)
commit1141b2853a06b5b6b19a8f990844edbd3b75c9a6
treee527a762d0aaca35624951dded2245e46e2c5301
parent5242f81af16a2670f7a938fd908d41671800a07c
Add experimental support for dtrace-based profiling

This is rather hackish at the moment but here is how it works (on OS X only).
We manually build libdph-trace.dylib, manually edit Extra-Lib-Dirs in
dph-base.cabal to point to it, manually turn on the DTrace flag and rebuild
DPH from scratch (as in rm */dist-install; make stage=2). Then, we build an
example and run it as follows:

  sudo dtrace -c './seq/quickhull 100000' -s loop-profile.d

This should produce a table which shows how much time is spent in which loops.
dph-base/Data/Array/Parallel/Base.hs
dph-base/Data/Array/Parallel/Base/DTrace.hs [new file with mode: 0644]
dph-base/dph-base.cabal