Abstract

In Java Virtual Machines employing dynamic compilation, there exists a tradeoff between compilation overhead and execution time. The compilation efforts are directed selectively on program hotspots so that gains in performance due to compiled code can overcome compilation cost. Using online profile incurs runtime-profiling overhead. Using only offline profile data might result in selecting cold methods for compilation when offline profile does not mirror current application behavior. Hence we propose a hybrid scheme that incorporates both online and offline profile to identify selective compilation candidates. We also discuss the significance of selective compilation ordering especially in applications which exhibit phase changes with respect to the method invocations it makes. This results in the hotspots of the program also changing as the application executes. Hence it is important for the selective compilation scheme to be highly responsive to phase changes and target the compilation efforts on the new hotspots, as they appear. We propose a temporal event graph for capturing this phase changing behavior of the application (in terms of the method calls it makes) and use this information in making better selective compilation decisions.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.