An Actionable Performance Profiler for Optimizing the Order of Evaluations
The efficiency of programs often can be improved by applying relatively simple changes. To find such optimization opportunities, developers either rely on manual performance tuning, which is time-consuming and requires expert knowledge, or on traditional profilers, which show where resources are spent but not how to optimize the program. This paper presents a profiler that provides actionable advice, by not only finding optimization opportunities but by also suggesting code transformations that exploit them. Specifically, we focus on optimization opportunities related to the order of evaluating subexpressions that are part of a decision made by the program. To help developers find such reordering opportunities, we present DecisionProf, a dynamic analysis that automatically identifies the optimal order, for a given input, of checks in logical expressions and in switch statements. The key idea is to assess the computational costs of all possible orders, to find the optimal order, and to suggest a code transformation to the developer only if reordering yields a statistically significant performance improve- ment. Applying DecisionProf to 43 real-world JavaScript projects reveals 52 beneficial reordering opportunities. Optimizing the code as proposed by DecisionProf reduces the execution time of individual functions between 2.5% and 59%, and leads to statistically significant application-level performance improvements that range between 2.5% and 6.5%.
Tue 11 JulDisplayed time zone: Tijuana, Baja California change
13:20 - 15:00 | Dynamic AnalysisTechnical Papers at Bren 1414 Chair(s): Tao Xie University of Illinois at Urbana-Champaign | ||
13:20 25mTalk | Effective Online Software Anomaly Detection Technical Papers Yizhen Chen SUNY Albany, USA, Ming Ying SUNY Albany, USA, Daren Liu SUNY Albany, USA, Adil Alim SUNY Albany, USA, Feng Chen SUNY Albany, USA, Mei-Hwa Chen SUNY Albany, USA DOI | ||
13:45 25mTalk | Semi-Automated Discovery of Server-Based Information Oversharing Vulnerabilities in Android Applications Technical Papers William Koch Boston University, USA, Abdelberi Chaabane Northeastern University, USA, Manuel Egele Boston University, USA, William Robertson Northeastern University, USA, Engin Kirda Northeastern University, USA DOI | ||
14:10 25mTalk | CPR: Cross Platform Binary Code Reuse via Platform Independent Trace Program Technical Papers Yonghwi Kwon Purdue University, Weihang Wang Purdue University, Yunhui Zheng IBM Research, Xiangyu Zhang Purdue University, Dongyan Xu Purdue University, USA DOI | ||
14:35 25mTalk | An Actionable Performance Profiler for Optimizing the Order of Evaluations Technical Papers Marija Selakovic TU Darmstadt, Germany, Thomas Glaser TU Darmstadt, Germany, Michael Pradel TU Darmstadt DOI |