The graphical user interface (GUI) is an important component of many software systems. Past surveys indicate that the development of a GUI is a significant undertaking and that the GUI’s source code often comprises a substantial portion of the program’s overall source base. Graphical user interface creation frameworks for popular object-oriented programming languages enable the rapid construction of simple and complex GUIs. In this paper, we examine the run-time performance of two GUI creation frameworks, Swing and Thinlet, that are tailored for the Java programming language. Using a simple model of a Java GUI, we formally define the difficulty of a GUI manipulation event. After implementing a case study application, we conducted experiments to measure the event handling latency for GUI manipulation events of varying difficulties. During our investigation of the run-time performance of the Swing and Thinlet GUI creation frameworks, we also measured the CPU and memory consumption of our candidate application during the selected GUI manipulation events. Our experimental results indicate that Thinlet often outperformed Swing in terms of both event handling latency and memory consumption. However, Swing appears to be better suited, in terms of event handling latency and CPU consumption, for the construction of GUIs that require manipulations of high difficulty levels.
Howell, C. J., Kapfhammer, G. M., & Roos, R. S. (2003). An examination of the run-time performance of GUI creation frameworks. Proceedings of the 2nd International Conference on the Principles and Practice of Programming in Java.
Want to cite this paper? Look in the BiBTeX file of gkapfham/research-bibliography for the key "Howell2003a".