一句话:提出 Speedoo,按架构影响与优化潜力排序方法,并定位应成组优化的优化空间以指导性能优化。
现代软件系统广泛存在性能问题,但现有基于 profiling 或模式的技术通常未考虑方法间的架构影响,难以确定优先优化对象。本文提出 Speedoo,依据架构影响与优化潜力衡量并排序方法的性能优化机会;对每个高排名方法,基于经验归纳的 5 种性能模式定位相应 Optimization Space,并将排名靠前的优化空间推荐给开发者。在三个真实项目上,排名靠前的优化空间中 18.52% 至 42.86% 的方法确实被性能优化,效果优于先进 profiling 工具 YourKit 2 至 3 倍。研究启示开发者应将优化空间中的方法作为一组而非个体对待,以减少人工投入。
Performance problems widely exist in modern software systems. Existing performance optimization techniques, including profiling-based and pattern-based techniques, usually fail to consider the architectural impacts among methods that easily slow down the overall system performance. This paper contributes a new approach, named Speedoo, to identify groups of methods that should be treated together and deserve high priorities for performance optimization. The uniqueness of Speedoo is to measure and rank the performance optimization opportunities of a method based on 1) the architectural impact and 2) the optimization potential. For each highly ranked method, we locate a respective Optimization Space based on 5 performance patterns generalized from empirical observations. The top ranked optimization spaces are suggested to developers as potential optimization opportunities. Our evaluation on three real-life projects has demonstrated that 18.52% to 42.86% of methods in the top ranked optimization spaces indeed undertook performance optimization in the projects. This outperforms one of the state-of-the-art profiling tools YourKit by 2 to 3 times. An important implication of this study is that developers should treat methods in an optimization space together as a group rather than as individuals in performance optimization. The proposed approach can provide guidelines and reduce developers' manual effort.
DOI 原文 ·
@inproceedings{paperbot4409,
title = {Speedoo},
author = {Zhifei Chen and Bihuan Chen and Lu Xiao and Xiao Wang and Lin Chen and Yang Liu and Baowen Xu},
booktitle = {ICSE},
year = {2018},
doi = {10.1145/3180155.3180229}
}