首页> 外文期刊>Software >Platform-independent Profiling In A Virtual Execution Environment
【24h】

Platform-independent Profiling In A Virtual Execution Environment

机译:虚拟执行环境中与平台无关的分析

获取原文
获取原文并翻译 | 示例

摘要

Virtual execution environments, such as the Java virtual machine, promote platform-independent software development. However, when it comes to analyzing algorithm complexity and performance bottlenecks, available tools focus on platform-specific metrics, such as the CPU time consumption on a particular system. Other drawbacks of many prevailing profiling tools are high overhead, significant measurement perturbation, as well as reduced portability of profiling tools, which are often implemented in platform-dependent native code. This article presents a novel profiling approach, which is entirely based on program transformation techniques, in order to build a profiling data structure that provides calling-context-sensitive program execution statistics. We explore the use of platform-independent profiling metrics in order to make the instrumentation entirely portable and to generate reproducible profiles. We implemented these ideas within a Java-based profiling tool called JP. A significant novelty is that this tool achieves complete bytecode coverage by statically instrumenting the core runtime libraries and dynamically instrumenting the rest of the code. JP provides a small and flexible API to write customized profiling agents in pure Java, which are periodically activated to process the collected profiling information. Performance measurements point out that, despite the presence of dynamic instrumentation, JP causes significantly less overhead than a prevailing tool for the profiling of Java code.
机译:虚拟执行环境(例如Java虚拟机)促进了平台无关的软件开发。但是,在分析算法复杂性和性能瓶颈时,可用的工具侧重于特定于平台的指标,例如特定系统上的CPU时间消耗。许多流行的分析工具的其他缺点是高开销,大量的测量干扰以及降低了分析工具的可移植性,这些通常以依赖于平台的本机代码实现。本文介绍了一种新颖的性能分析方法,该方法完全基于程序转换技术,以构建可提供调用上下文相关程序执行统计信息的性能分析数据结构。我们探索了与平台无关的分析指标的使用,以使仪器完全可移植并生成可再现的配置文件。我们在名为JP的基于Java的分析工具中实现了这些想法。一个重要的新颖之处在于,该工具通过静态检测核心运行时库并动态检测其余代码来实现完整的字节码覆盖。 JP提供了一个小型灵活的API,可以用纯Java编写自定义的性能分析代理,该代理会定期激活以处理收集的性能分析信息。性能测量指出,尽管存在动态工具,但是JP导致的开销要比用于Java代码概要分析的通用工具少得多。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号