Profiling with AspectJ

Profiling with AspectJ
复制标题

使用 AspectJ 进行分析

DOI:
--
复制
发表时间:
2005
期刊:
影响因子:
--
通讯作者:
P. Kelly
P. Kelly
中科院分区:
--
文献类型:
--
作者:
David J. Pearce;Matthew Webster;R. Berry;P. Kelly

文献摘要

被引文献

相似文献

本文研究了AspectJ是否可以用于Java程序的有效剖析。概要分析不同于AOP的其他应用程序(例如跟踪),因为它需要与目标程序进行高效且往往复杂的交互。因此,AspectJ能否实现这一目标尚不确定。因此,我们调查了四个常见的性能分析问题(堆使用率、对象生存期、浪费的时间和花费的时间),并报告了AspectJ处理它们的情况。对于每一个,我们都提供了一个有效的实现,讨论了任何权衡或限制,并将实验评估的结果呈现为使用它的成本。我们的结论好坏参半。一方面,我们发现AspectJ有足够的表现力来描述四个剖析问题,并且在大多数情况下都是相当有效的。另一方面,我们发现当前AspectJ实现的几个限制严重阻碍了它对性能分析的适用性。
This paper investigates whether AspectJ can be used for effic ient profiling of Java programs. Profiling differs from other applications of AOP (e.g. tracing), since it necessitates efficient and often complex interactions with the target program. As such, it was uncert ain whether AspectJ could achieve this goal. Therefore, we investigate four common profiling problems (heap usage, object lifetime, wasted time and time-spent) and report on how well AspectJ handles them. For each, we provide an efficient implementation, discuss any trade-offs or limitations and present the resul ts of an experimental evaluation into the costs of using it. Our conclusions are mixed. On the one hand, we findthat AspectJ is sufficiently expressive to describe the four profiling problems and reasonably effici ent in most cases. On the other hand, we find several limitations with the current AspectJ implementation that severely hamper its suitability for profiling.