Usability of AspectJ from the Performance Perspective

Erik Šuta, Ivan Martoš, and Valentino Vranić

Institute of Informatics and Software Engineering
Faculty of Informatics and Information Technologies
Slovak University of Technology in Bratislava
Bratislava, Slovakia

suta.erik@gmail.com, martos.ivan@gmail.com, vranic@stuba.sk

The performance of Java applications or other applications in general is one of the most important attributes, especially on mobile devices and in embedded systems where providing seamless experience to end users is of uttermost importance. In this paper, we present the framework we designed specifically to aim at AspectJ performance measurement in both desktop and mobile settings. We applied this framework to evaluate the performance of the current AspectJ version and to provide a comparison with its older versions. One of the important findings is that while in desktop settings vast aspect application does not generate significantly bigger performance overhead than their scarce application, in mobile devices it does, so it pays off to apply aspects rather to a small number of high time complexity methods than to a large number of low time complexity methods.

Keywords: aspect-oriented programming; AspectJ; performance; Android; mobile applications