论文标题

基于内存分配器流失量化移动软件的每日演变

Quantifying Daily Evolution of Mobile Software Based on Memory Allocator Churn

论文作者

Kudrjavets, Gunnar, Thomas, Jeff, Kumar, Aditya, Nagappan, Nachiappan, Rastogi, Ayushi

论文摘要

进化现代软件系统所需的代码搅拌的步伐和数量为分析任何集合代码更改的性能影响提出了挑战。性能分析中使用的传统方法依赖于广泛的数据收集和分析,这通常需要几天。对于使用持续集成(CI)和连续部署(CD)的大型组织,这些传统技术通常无法提供及时且可操作的数据。需要一种不同的影响分析方法,可以更有效地检测性能回归。我们建议将用户模式内存分配器搅动作为绩效工程的新方法。用户模式分配器流动充当代理指标,以评估特定任务成本的相对变化。我们在进行主要iOS应用程序的性能工程时,原型记忆分配方法学。我们发现,计算和分析记忆分配器流失(a)导致确定性测量结果,(b)对于确定个人绩效回归和一般性能相关趋势的存在有效,并且(c)是测量任务完成时间的合适替代方法。

The pace and volume of code churn necessary to evolve modern software systems present challenges for analyzing the performance impact of any set of code changes. Traditional methods used in performance analysis rely on extensive data collection and profiling, which often takes days. For large organizations utilizing Continuous Integration (CI) and Continuous Deployment (CD), these traditional techniques often fail to provide timely and actionable data. A different impact analysis method that allows for more efficient detection of performance regressions is needed. We propose the utilization of user mode memory allocator churn as a novel approach to performance engineering. User mode allocator churn acts as a proxy metric to evaluate the relative change in the cost of specific tasks. We prototyped the memory allocation churn methodology while engaged in performance engineering for a major iOS application. We find that calculating and analyzing memory allocator churn (a) results in deterministic measurements, (b) is efficient for determining the presence of both individual performance regressions and general performance-related trends, and (c) is a suitable alternative to measuring the task completion time.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源