Parallel calculates progress from the number of finished jobs. If I was running many, short jobs, this would be useful. As it is, I have only a few jobs, and it is not practical to split them into lots of little jobs. I was thinking it would be good if ‘parallel’ could get some measure of the fractional progress from the jobs themselves...
My job can already put out progress messages. It regularly outputs lines such as “ 12.3 % done \r”. An option could look at stdout/stderr for each job, search for likely progress messages, consume them, and use them as a fine-grained progress measure. Any lines ending with carriage return ‘\r’ rather than newline ‘\n’ are good candidates, and would probably be useless if piped to the terminal anyway. In C++ notation, we might look for… “ %f %s\r ” // fraction done “ %f %% %s \r " // percent done “ %d / %d %s\r ” // fraction done ..where %s is an optional command string, such as “done” in my example.