Abstract
Large-scale object-oriented applications consist of tens of thousands of methods and exhibit highly complex runtime behaviour that is difficult to analyse for performance. Typical performance analysis approaches that aggregate performance measures in a method-centric manner result in thinly distributed costs and few easily identifiable optimisation opportunities. Subsuming methods analysis is a new approach that aggregates performance costs across repeated patterns of method calls that occur in the application's runtime behaviour. This allows automatic identification of patterns that are expensive and represent practical optimisation opportunities. To evaluate the practicality of this analysis with a real world large-scale object-oriented application we completed a case study with the developers of letterboxd.com - a social network website for movie goers. Using the results of the analysis we were able to rapidly implement changes resulting in a 54.8% reduction in CPU load and an 49.6% reduction in average response time.
Original language | English |
---|---|
Title of host publication | Proceedings - 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, ICSE 2015, Volume 2 |
Editors | Sebastian Elbaum, Gerardo Canfora |
Place of Publication | Piscataway NJ USA |
Publisher | IEEE, Institute of Electrical and Electronics Engineers |
Pages | 149-158 |
Number of pages | 10 |
Volume | 2 |
ISBN (Electronic) | 9781479919345 |
DOIs | |
Publication status | Published - 2015 |
Externally published | Yes |
Event | International Conference on Software Engineering 2015 - Florence, Italy Duration: 16 May 2015 → 24 May 2015 Conference number: 37th http://2015.icse-conferences.org/ https://ieeexplore.ieee.org/xpl/conhome/7174815/proceeding?isnumber=7194545 (Proceedings) |
Conference
Conference | International Conference on Software Engineering 2015 |
---|---|
Abbreviated title | ICSE 2015 |
Country/Territory | Italy |
City | Florence |
Period | 16/05/15 → 24/05/15 |
Internet address |
Keywords
- Object oriented software
- Performance analysis
- Runtime bloat
- Subsuming methods