Sequencer cleanup with timing instrumentation
Contains the following changes:
- Sequencer is now fully configured via its
Config
object, including the number of events. The.run()
functions takes no arguments anymore. - Sequencer now has per-algorithm timing measurements. The timing information is written to disk in a tab-separated text file and also printed as a debug message. With the default log level only the total and per-event timing is printed to not clutter the output too much.
- The number of parallel jobs is now configured explicitly with the
--jobs,-j
command line flag. Support for reading the value from an environment variable (the name of which I could never remember) has been removed. - Simplified options setup and parsing by moving boilerplate code into common functions.
- Include dfelibs as a submodule (used for writing timing information).
Requires !133 (merged) and needs to be merged afterwards.
Edited by Moritz Kiehn