|
|
 |
| |
|
|
|
Memory-Bound Scaling and the R–C++ Performance Crossover Threshold |
|
|
|
PP: 923-938 |
|
|
doi:10.18576/amis/200406
|
|
|
|
Author(s) |
|
|
|
Gharib M. Gharib,
Maha Alsaoudi,
Jeireis Abudayyeh,
Karim Adel,
Mahmoud I. Gaber,
Mohamed A. Labeeb,
|
|
|
|
Abstract |
|
|
| In the current investigation, the performance crossover threshold of ordinary least squares (OLS) regression and frequency distribution is assessed for R, Rcpp, and C++ versions for large data analysis tasks. To assess the three algorithms, a benchmarking suite is designed which can validate the performance comparison of all implementations based on different data set sizes, from 3x105 to 108 records, in an Intel Core i7 environment. The framework allows measuring execution overheads, scalability characteristics, threading effects, and memory performance limitations. Experimental results show that the performance gap between R and C++ implementations mainly results from additional computation and statistics involved in R and not through foreign function interfaces. Furthermore, both OLS regression and frequency distribution implementations exhibit performance degradation because of the memory limit, rendering any improvements in threading ineffective and causing a drastic decline in performance crossover threshold. As evidenced by power law analysis, all implementations exhibit nearly linear scalability. Overall, the current analysis provides complete insight into the reasons for the performance crossover from R to C++ implementations and explains how memory limits are the major factor for such behavior. |
|
|
|
|
 |
|
|