Charles Explorer logo
🇬🇧

Utilizing Performance Unit Tests To Increase Performance Awareness

Publication at Faculty of Mathematics and Physics |
2015

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.