Cache-aware cross-profiling for java processors
CASES '08 Proceedings of the 2008 international conference on Compilers, architectures and synthesis for embedded systems
CProf: customizable calling context cross-profiling for embedded java processors
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
PPPJ '09 Proceedings of the 7th International Conference on Principles and Practice of Programming in Java
Cross-profiling for Java processors
Software—Practice & Experience
Proceedings of the first joint WOSP/SIPEW international conference on Performance engineering
Hi-index | 0.00 |
Profiling is essential for finding execution time hot spots in applications. However, in embedded systems resources are usually scarce and profiling is not an option, although the detection and optimization of hot spots is particularly important in such resource-constrained systems. In this paper we propose cross-profiling for embedded systems equipped with a Java processor; the cross-profiles are collected in any standard Java environment, but represent the execution time metrics of the embedded target platform. We present a novel cross-profiler that relies on Java bytecode instrumentation and generates calling-context-sensitive cross-profiles with CPU cycle estimations for each calling context. Our cross-profiler reconciles platform-independence, portability, compatibility with standard Java runtime systems, complete bytecode coverage, moderate profiling overhead, and high accuracy of the generated cross-profiles.