Execution profiling blueprints

  • Authors:
  • Alexandre Bergel;Felipe Bañados;Romain Robbes;Walter Binder

  • Affiliations:
  • Pleiad Lab, Computer Science Department (DCC), University of Chile, Santiago, Chile;Pleiad Lab, Computer Science Department (DCC), University of Chile, Santiago, Chile;Pleiad Lab, Computer Science Department (DCC), University of Chile, Santiago, Chile;University of Lugano, Switzerland

  • Venue:
  • Software—Practice & Experience
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Although traditional approaches to code profiling help locate performance bottlenecks, they offer only limited support for removing these bottlenecks. The main reason is the lack of detailed visual runtime information to identify and eliminate computation redundancy. We provide three profiling blueprints that help identify and remove performance bottlenecks. The structural distribution blueprint graphically represents the CPU consumption share for each method and class of an application. The behavioral distribution blueprint depicts the distribution of CPU consumption along method invocations and hints at method candidates for caching optimizations. The behavioral evolution blueprint compares profiles of different versions of a software system and highlights performance-critical changes in the system. These three blueprints helped us to significantly optimize Mondrian, an open source visualization engine. Our implementation is freely available for the Pharo development environment and has been evaluated in a number of different scenarios. Copyright © 2011 John Wiley & Sons, Ltd.