Time and space profiling for non-strict, higher-order functional languages
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
GUM: a portable parallel implementation of Haskell
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Applications of functional programming
Applications of functional programming
Formally based profiling for higher-order functional languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Profiling large-scale lazy functional programs
Journal of Functional Programming
Algorithm + strategy = parallelism
Journal of Functional Programming
An Interactive Approach to Profiling Parallel Functional Programs
IFL '98 Selected Papers from the 10th International Workshop on 10th International Workshop
Hi-index | 0.00 |
Execution profiling plays a crucial part in the performance-improving process for parallel functional programs. This paper presents the design, implementation, and use of a new execution time profiler (GranSim-SP) for Glasgow Parallel Haskell (GpH). Parallelism is introduced in GpH by using evaluation strategies, which provide a clean way of co-ordinating parallel threads without destroying a program's original structure. The new profiler attributes the cost of evaluating parallel threads to the strategies that created them. A unique feature of the strategic profiler is that the call-graph of evaluation strategies is maintained, allowing the programmer to discover the sequence of (perhaps nested) strategies that were used to create any given thread. The strategic profiler is demonstrated on several examples, and compared with other profilers.