Proceedings paper

Title:
Utilizing Performance Unit Tests To Increase Performance Awareness
Authors:
Vojtěch Horký, Peter Libič, Lukáš Marek, Antonín Steinhauser, Petr Tůma
Publication:
Proc. 6th ACM/SPEC International Conference on Performance Engineering (ICPE)
DOI:
Year:
2015
ISBN:
978-1-4503-3248-4
Link:

Abstract:
Many decisions taken during software development impact the resulting application performance. The key decisions whose potential impact is large are usually carefully weighed. In contrast, the same care is not used for many decisions whose individual impact is likely to be small -- simply because the costs would outweigh the benefits. Developer opinion is the common deciding factor for these cases, and our goal is to provide the developer with information that would help form such opinion, thus preventing performance loss due to the accumulated effect of many poor decisions. Our method turns performance unit tests into recipes for generating performance documentation. When the developer selects an interface and workload of interest, relevant performance documentation is generated interactively. This increases performance awareness -- with performance information available alongside standard interface documentation, developers should find it easier to take informed decisions even in situations where expensive performance evaluation is not practical. We demonstrate the method on multiple examples, which show how equipping code with performance unit tests works.

BibTeX:
@inproceedings{horky_utilizing_2015,
    title = {{Utilizing Performance Unit Tests To Increase Performance Awareness}},
    author = {Horký, Vojtěch and Libič, Peter and Marek, Lukáš and Steinhauser, Antonin and Tůma, Petr},
    year = {2015},
    booktitle = {{Proc. 6th ACM/SPEC International Conference on Performance Engineering (ICPE)}},
    publisher = {ACM},
    location = {New York, NY, USA},
    doi = {10.1145/2668930.2688051},
    isbn = {978-1-4503-3248-4},
    pages = {289--300},
    url = {http://doi.acm.org/10.1145/2668930.2688051},
}