【24h】

Input-Sensitive Profiling

机译:输入敏感的分析

获取原文

摘要

In this paper we present a profiling methodology and toolkit for helping developers discover hidden asymptotic inefficiencies in the code. From one or more runs of a program, our profiler automatically measures how the performance of individual routines scales as a function of the input size, yielding clues to their growth rate. The output of the profiler is, for each executed routine of the program, a set of tuples that aggregate performance costs by input size. The collected profiles can be used to produce performance plots and derive trend functions by statistical curve fitting or bounding techniques. A key feature of our method is the ability to automatically measure the size of the input given to a generic code fragment: to this aim, we propose an effective metric for estimating the input size of a routine and show how to compute it efficiently. We discuss several case studies, showing that our approach can reveal asymptotic bottlenecks that other profilers may fail to detect and characterize the workload and behavior of individual routines in the context of real applications. To prove the feasibility of our techniques, we implemented a Valgrind tool called aprof and performed an extensive experimental evaluation on the SPEC CPU2006 benchmarks. Our experiments show that aprof delivers comparable performance to other prominent Valgrind tools, and can generate informative plots even from single runs on typical workloads for most algorithmically-critical routines.
机译:在本文中,我们提出了一种分析方法和工具包,用于帮助开发人员发现代码中隐藏的渐近低效率。从一个或多个程序运行,我们的探查器会自动测量单个例程的性能如何衡量输入大小的函数,从而产生其增长率的线索。分析器的输出是针对程序的每个执行程序,一组元度集合通过输入大小聚合性能成本。收集的配置文件可用于通过统计曲线配件或边界技术产生性能图和推导趋势功能。我们方法的一个关键特征是能够自动测量给予通用代码片段的输入的大小:为此目的,我们提出了一种有效的指标,用于估计例程的输入大小,并显示如何有效计算它。我们讨论了几个案例研究,表明我们的方法可以揭示其他分析仪在真实应用程序的背景下无法检测和表征个人例程的工作量和行为的渐近瓶颈。为了证明我们技术的可行性,我们实施了一个名为APROF的Valgrind工具,并对规范CPU2006基准进行了广泛的实验评估。我们的实验表明,APROF将性能与其他突出的Valgrind工具提供相同的性能,并且即使从单次运行典型工作负载而导致大多数算法的例程,也可以生成信息图。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号