• Title of article

    Listener latency profiling: Measuring the perceptible performance of interactive Java applications

  • Author/Authors

    Milan Jovic، نويسنده , , Matthias Hauswirth، نويسنده ,

  • Issue Information
    ماهنامه با شماره پیاپی سال 2011
  • Pages
    19
  • From page
    1054
  • To page
    1072
  • Abstract
    When developers need to improve the performance of their applications, they usually use one of the many existing profilers. These profilers generally capture a profile that represents the execution time spent in each method. The developer can thus focus her optimization efforts on the methods that consume the most time. In this paper we argue that this type of profile is insufficient for tuning interactive applications. Interactive applications respond to user events, such as mouse clicks and key presses. The perceived performance of interactive applications is directly related to the response time of the program.In this paper we present listener latency profiling, a profiling approach with two distinctive characteristics. First, we call it latency profiling because it helps developers to find long latency operations. Second, we call it listener profiling because it abstracts away from method-level profiles to compute the latency of the various listeners. This allows a developer to reason about performance with respect to listeners, also called observers, the high level abstraction at the core of any interactive Java application.We present our listener latency profiling approach, describe LiLa, our implementation, validate it on a set of microbenchmarks, and evaluate it on a complex real-world interactive application. We then perform case studies where we use LiLa to tune the perceptible performance of two interactive applications, and we show that LiLa is able to pinpoint performance problems even if their causes are embedded in the largest interactive Java application we are aware of.
  • Keywords
    listeners , profiling , Event-based applications , latency
  • Journal title
    Science of Computer Programming
  • Serial Year
    2011
  • Journal title
    Science of Computer Programming
  • Record number

    1080221