loopcontrol shouldn't output statistics at terminate by default

Issue #1393 closed
Frank Löffler created an issue

After a recent update (I believe) LoopControl started to print statistics at terminate. While interesting for optimizing ect, this should be hidden by default. Its option 'verbose' would be a good candidate to use for that I believe, which is what I propose (without patch due to the simplicity of a check in schedule.ccl).


Comments (12)

  1. Erik Schnetter
    • removed comment


    How much statistics do you see at the end? There should be only ten lines or so -- if you see much more this is a bug.


  2. Erik Schnetter
    • removed comment

    I like to have this present by default, so that LoopControl is advertised. Many thorns (and the flesh) produce a lot of boilerplate output, so that LoopControl's behaviour seems fine to me. Note that, with verbose set, there will be much more output -- each loop will be described.

    Are you looking for an option to disable this output, or do you dislike the default behaviour?

  3. Frank Löffler reporter
    • removed comment

    I don't think printing information at the end of a run is a good place for advertisement. Also, Carpet already depends on LoopControl. Everyone using Carpet has to use LoopControl anyway.

    The boilerplate you mentioned is usually output at the start of a simulation. There, this is not much of a problem, as especially when you are developing/debugging the end of a run is much more interesting. In this case, LoopControl's output pushes interesting output up, out of the screen and makes 'diffs' of output a bit more difficult to handle.

    I would like to have the default changed - it shouldn't be printed by default. While of course this information is interesting, it is probably not so for most people, who are are more concerned with the actual results of a run. Since the current option 'verbose' produces a lot more than this final output, and only producing this final output (but not every iteration) would be a useful option, I suggest to do this via parameter, defaulting to 'no output'.

  4. Frank Löffler reporter
    • removed comment

    In terms of advertisement: maybe you could introduce the developers to what LoopControl does in a 5-10 minute informal presentation at the workshop? They are the most likely to use it, and I have to confess that even I don't know from the top of my head how to write a LoopControl-loop, while I do for a regular for-loop.

  5. Ian Hinder
    • removed comment

    I agree with Frank; any output at the end of the run is annoying. I already have to remember to turn off all the flesh timer output which takes pages and pages of space. I want to be able to quickly page to the end of stdout and see that the run finished OK, the final time it got to, the memory usage etc, and not have to wade through pages of postscript. LoopControl should output its statistics only if its verbosity parameter has been set explicitly to "yes".

  6. Erik Schnetter
    • removed comment

    The memory usage? Which thorn outputs this? What about the total run time? Would that also be interesting?

  7. Ian Hinder
    • removed comment

    SystemStatistics populates a variable, and this can be displayed using IOBasic along with the other variables. I use this for run speed, memory usage (min/max/avg) and swap usage. See the example in SystemStatistics/par. Total run time would be interesting to print after the run finishes, yes.

  8. Log in to comment