No need to write parsers in separate files.
Log output from solvers and parsers remains separate.
No need for exp.add_parse_again_step()
.
Parsing and re-parsing is now
exactly the same.
Parsers are checked for syntax errors before the experiment is run.
Parsing runs much faster (for an experiment with 3 algorithms and 5 parsers the parsing time went down from 51 minutes to 5 minutes, both measured on cold file system caches).
As before, you can let the Slurm environment do the parsing
for you and get
notified when the report is finished: ./myexp.py
build start
parse fetch
report
To adapt your parsers to this new API, you need to make the following changes:
Your parser module (e.g., “custom_parser.py”) does not have
to be executable
anymore, but it must be importable and expose a Parser
instance (see the
changes to the translator
parser
for an example). Then, instead of exp.add_parser("custom_parser.py")
use
from
custom_parser import
MyParser
and exp.add_parser(MyParser())
.
Remove exp.add_parse_again_step()
and
insert exp.add_step("parse",
exp.parse)
after exp.add_step("start",
exp.start_runs)
.