返回
Speeding Up Data Manipulation Tasks with Alternative Implementations: An Exploratory Study
DOI:10.1145/3456873.png)
摘要
En 中文
As data volume and complexity grow at an unprecedented rate, the performance of data manipulation programs is becoming a major concern for developers. In this article, we study how alternative API choices could improve data manipulation performance while preserving task-specific input/output equivalence. We propose a lightweight approach that leverages the comparative structures in Q&A sites to extracting alternative implementations. On a large dataset of Stack Overflow posts, our approach extracts 5,080 pairs of alternative implementations that invoke different data manipulation APIs to solve the same tasks, with an accuracy of 86%. Experiments show that for 15% of the extracted pairs, the faster implementation achieved >10x speedup over its slower alternative. We also characterize 68 recurring alternative API pairs from the extraction results to understand the type of APIs that can be used alternatively. To put these findings into practice, we implement a tool, AlterApi, to automatically optimize real-world data manipulation programs. In the 1,267 optimization attempts on the Kaggle dataset, 76% achieved desirable performance improvements with up to orders-of-magnitude speedup. Finally, we discuss notable challenges of using alternative APIs for optimizing data manipulation programs. We hope that our study offers a new perspective on API recommendation and automatic performance optimization.
Keyword:
API selection
data manipulation
performance optimization
mining software repository
empirical study
AI总结
对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。
期刊
A
IF:
6.2
论文数:
1.2K
被引数:
3.4K
机构
引用论文
SciPy 1.0: fundamental algorithms for scientific computing in PythonSciPy 1.0: Python中科学计算的基本算法
NATURE METHODS
IF32.1
GreenDroid: Automated Diagnosis of Energy Inefficiency for Smartphone ApplicationsGreenDroid: 智能手机应用程序能效低下的自动诊断

