Write all data-based synthesis statistics to a file
The following discussion from !188 (merged) should be addressed:
I wonder if we would like to write the continuous node statistics to a file instead? It can get very long.
True. In the CIF-RWS branch I had added an additional file option to print this statistic/all statistics to (I can't remember). But than I was also thinking that a user might want to pipe the normal output stream to a file if (s)he wants to analyse the results further. I don't know what the best option would be.
Let's add an option to specify the file. The default can be derived from the input file. So we always write that to a file. Not sure all statistics should go to a single file if we go for an 'ASCII-like' format, as that makes parsing very complex. However, if we go for a structured file (maybe JSON?) that could work well.
Maybe it is indeed better to write all of them to a statistics file, as then we also can also more easily process them further without parsing the file. I would however also like to keep the option to make it streaming (probably as a separate later issue). Not sure whether JSON would then be the right way to go? We could write each value as a JSON value, one per line? Then the file can be written and read in a line by line fashion?
Right now I'm preparing a change to move the continuous node statistics to a separate 'ASCII-like' formatted file, as that one can become a long list of data points. The other statistics are still printed to the normal output stream.
Let's discuss the best possible output format for all statistics in a separate issue further, as changing them all might involve quite some work (the other existing BDD statistics use for example a callback mechanism that has to be changed).
I'm fine with introducing the statistics file in a follow-up issue. I'm not sure the callback mechanism would need to change. The callback itself yes, as the target changes from stdout to a file.