Title
Measuring the Haskell Gap
Abstract
Papers on functional language implementations frequently set the goal of achieving performance \"comparable to C\", and sometimes report results comparing benchmark results to concrete C implementations of the same problem. A key pair of questions for such comparisons is: what C program to compare to, and what C compiler to compare with? In a 2012 paper, Satish et al [9] compare naive serial C implementations of a range of throughput-oriented benchmarks to best-optimized implementations parallelized on a six-core machine and demonstrate an average 23X (up to 53X) speedup. Even accounting for thread parallel speedup, these results demonstrate a substantial performance gap between naive and tuned C code. In this current paper, we choose a subset of the benchmarks studied by Satish et al to port to Haskell. We measure performance of these Haskell benchmarks compiled with the standard Glasgow Haskell Compiler and with our experimental Intel Labs Haskell Research Compiler and report results as compared to our best reconstructions of the algorithms used by Satish et al. Results are reported as measured both on an Intel Xeon E5-4650 32-core machine, and on an Intel Xeon Phi co-processor. We hope that this study provides valuable data on the concrete performance of Haskell relative to C.
Year
DOI
Venue
2013
10.1145/2620678.2620685
IFL
Keywords
Field
DocType
design,experimentation,haskell,applicative languages,measurement,languages,performance,dependent types,verification,web applications
Programming language,Functional programming,Computer science,Xeon Phi,Parallel computing,Thread (computing),Compiler,Haskell,Xeon,Public-key cryptography,Speedup
Conference
Citations 
PageRank 
References 
2
0.37
8
Authors
4
Name
Order
Citations
PageRank
Leaf Petersen11089.65
Todd A Anderson215121.51
Hai Liu3212.91
Neal Glew462760.50