Response time and display rate in human performance with computers
ACM Computing Surveys (CSUR)
Designing the user interface: strategies for effective human-computer interaction
Designing the user interface: strategies for effective human-computer interaction
Lag as a determinant of human performance in interactive systems
CHI '93 Proceedings of the INTERACT '93 and CHI '93 Conference on Human Factors in Computing Systems
Using latency to evaluate interactive system performance
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Improving interactive performance using TIPME
Proceedings of the 2000 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Thread-level parallelism and interactive performance of desktop applications
ASPLOS IX Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
IEEE Internet Computing
CHI '01 Extended Abstracts on Human Factors in Computing Systems
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
The JFC Swing Tutorial: A Guide to Constructing GUIs, Second Edition
The JFC Swing Tutorial: A Guide to Constructing GUIs, Second Edition
Eclipse Rich Client Platform: Designing, Coding, and Packaging Java(TM) Applications
Eclipse Rich Client Platform: Designing, Coding, and Packaging Java(TM) Applications
Interactive performance measurement with VNCplay
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Dynamic instrumentation of production systems
ATEC '04 Proceedings of the annual conference on USENIX Annual Technical Conference
Software—Practice & Experience
Swt: the standard widget toolkit, volume 1
Swt: the standard widget toolkit, volume 1
Comprehensive aspect weaving for Java
Science of Computer Programming
Enabling modularity and re-use in dynamic program analysis tools for the java virtual machine
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Hi-index | 0.00 |
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.