Efficiency Guardian

About

What is it?

EfficiencyGuardian extracts callgrind efficiency measures from individual CppUnit test cases to detect efficiency regresion. It includes a data mining web tool to browse historic results and TestFarm integration for unattended execution on commit.

Why it should be usefull for me

While optimizing

If you are optimizing some piece of code in several test conditions, write each test condition as a CppUnit test case and run the tests with EfficiencyGuardian. Instead of using KCacheGrind on each execution, EfficiencyGuardian will compare each test time cost with the reference execution, giving you a faster feedback.

While adding functionality or refactoring the design

Once you did an effort to optimize some code you don't want to lose it. But you may need modify the code in order to add functionalities or enhancing the design, and, after such modifications you code may regress to a less optimized state. EfficiencyGuardian will warns you on efficiency regression as automated unit tests warn you on functionality regression.

How efficiency is measured