【24h】

Visualizing the performance of higher-order programs

机译:可视化高阶程序的性能

获取原文

摘要

Profiling can provide the information needed to identify performance bottlenecks in a program, but the programmer must understand its relation to the program source in order to use this information. This is difficult due to the tremendous volume of data collected. Moreover, program transformations such as macro expansion and procedure inlining can obscure the relationship between the source and object code. Higher-order programs present additional challenges due to complex control flow and because they often consist of many small, often anonytnous, procedures whose individual performance properties may be less interesting than their characteristics as a group.To address these challenges we have implemented a profiler and interactive profile visualizer and integrated them into an optimizing Scheme compiler. The profiler instruments target code and maintains correlations with the original source despite compiler optimizations that can eliminate, duplicate, or move code. The visualizer operates as asource-code browser with features to examine execution counts and execution times from several perspectives. It supports the programmer in identifying program hot spots as well as code regions responsible for or affected by those hotspots. It also supports profile differencing which permits the programmer to study program behavior in different execution contexts.Our experience suggests that visualization tools can help to present raw profile data in a meaningful way. The tool can synthesize a high-level picture of program performance while still giving the programmer the ability to explore the details in interesting regions of code.
机译:分析可以提供识别程序中性能瓶颈所需的信息,但是程序员必须了解其与程序源的关系才能使用此信息。由于收集到的大量数据,这很困难。此外,程序转换(例如宏扩展和过程内联)可能会使源代码和目标代码之间的关系模糊。高阶程序由于复杂的控制流程而面临更多的挑战,因为它们通常由许多小的,通常是匿名的程序组成,这些程序的单个性能特性可能不如它们作为一个整体的特征那么有趣。交互式个人资料可视化工具,并将它们集成到优化的Scheme编译器中。尽管编译器可以消除,复制或移动代码,但探查器可对目标代码进行检测,并与原始源保持相关性。可视化程序用作源代码浏览器,具有从多个角度检查执行计数和执行时间的功能。它支持程序员识别程序热点以及负责这些热点或受这些热点影响的代码区域。它还支持配置文件差异,这使程序员可以研究不同执行上下文中的程序行为。我们的经验表明,可视化工具可以帮助以有意义的方式呈现原始配置文件数据。该工具可以综合性地显示程序性能,同时仍使程序员能够探索代码有趣区域中的细节。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号