Browse Prior Art Database

Framework for exploring performance improvements in application code

IP.com Disclosure Number: IPCOM000010943D
Original Publication Date: 2003-Feb-03
Included in the Prior Art Database: 2003-Feb-03
Document File: 3 page(s) / 47K

Publishing Venue

IBM

Abstract

A unified framework for performance problem identification, analysis and improvement is described. The framework is based on Aspect Oriented (AO) software technology, and is integrated in an Eclipse-based software development environment. The flexibility and power of AO technology delivers complex analysis techniques and exploratory capabilities into the hands of software developers.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 50% of the total text.

Page 1 of 3

Framework for exploring performance improvements in application code

Performance analysis is often addressed very late in the development cycle of an application. One reason is that developers lack access (and familiarity) to performance analysis methodologies and tools.

     A framework/environment for performance evaluation that is integrated into a developer workbench is described. This framework employs novel technology (Aspect Oriented Software Development Technology) to accelerate:
a. the identification of a unique class of performance problems
b. the exploration of performance enhancement opportunities
c. the delivery of performance improvement into code under development

     The exploratory framework is delivered through a plugin to the Eclipse framework. The pluging provides the developer with the means to profile a Java* application at varying degrees of detail. Once an area of interest is observed (e.g., a method satisfying certain signature characteristics having particularly high access rates) the developer can probe more deeply into the types, values and other attributes of arguments and return values for the method. Graphical techniques are employed to present distinct views to the analyst of performance in the hopes of surfacing key behaviours that suggest performance improvements, such as:

- identifying monotonically increasing values, - identifying correlations between argument values and method execution times - identifying correlations between argument values and return values - i.e. those patterns that indicate susceptibility to implementing caching for the method

     Identification of such behaviour is an important insight for a performance analyst. They suggest avenues of attack to enhance the performance of the method(s) in question.

For example, the identification of the following pattern:

012345678910

time, or order of occurrence

plot of value by time

11

10

9

8

7

6

5

4

3

2

1

value

[This page contains 1 picture or other non-text object]

Page 2 of 3

indicates a strong correlation between method return value (y-axis) and the number of times the method is invoked (x-axis). This might suggest that a caching technique wouldn't be particularly effective. On the other hand, the strong linearity revealed in the graph might suggest a different mechanism for the method to arrive at its return value would be appropriate.

On the other hand, the followin...