Add additional performance tests, as well as performance test documentation
Issue/feature addressed
- Expands the scope of !1629 (merged) by adding additional performance tests for other solvers
- Updated the developer guide and doxygen comments for changes made in !1629 (merged) and !1614 (merged).
Proposed solution
New performance tests measuring average execution time have been added based on the following tests:
- PulseWaveSolver_TwoBifurcations
- ShallowWaterSolver_TestMMFSWEPlane
- CompressibleFlowSolver_CylinderSubsonic_P3
- DiffusionSolver_TestMMFDiffCube
- ADRSolver_CubeAllElements
- IncNavierStokesSolver_ChanStability
Added a developer guide section covering the creation of performance tests
Added the tests directory to doxygen includes, and comments have been added to Tester.cpp and various classes relating to testing.
Implementation
The tolerance has been set to approx 5% of the average execution time for each test. From what I've experienced this should result in very few false failures, but the runner is used for more than just performance tests so this may change.
Tests
- Perf_TwoBifurcations
- Perf_TestMMFSWEPlane
- Perf_CylinderSubsonic_P3
- Perf_TestMMFDiffCube
- Perf_CubeAllElements
- Perf_ChanStability
Suggested reviewers
@ccantwel (my UROP supervisor)
Notes
Depends on !1629 (merged)
Checklist
-
Functions and classes, or changes to them, are documented. -
User guide/documentation is updated. -
Changelog is updated. -
Suitable tests added for new functionality. -
Contributed code is correctly formatted. (See the contributing guidelines). -
License added to any new files. -
No extraneous files have been added (e.g. compiler output or test data files).
Edited by Tom Gordon