Open MSallermann opened 5 years ago
Tracking performance improvements over time would be a big benefit! I would recommend also benchmarking MC and GNEB (and maybe also MMF - there, performance can still be increased a lot).
For completeness sake: we could also benchmark critical functions, which would reduce the overhead of a benchmark run. Regarding a library to use in this case, I personally liked using nonius (see also here).
I think it would be good if Spirit included a small benchmarking executable, e.g.
./benchmark
lying next to the./spirit
executable after compilation. Command line arguments could be used when calling./benchmark
to decide which benchmark problem to execute and possibly write results to a file.Having a set of standard benchmark problems (and therefore a rough expectation of performance) could be of great help to quickly gauge the impact of changes made to the core and be another way (besides the unit tests) to verify a Spirit installation. Also this could be used to easily track performance improvements (hopefully) over time.
Of course, there is the open question of which benchmark problems to take. I would suggest:
?