Revise the Timer system to provide better time logging facilities

Issue #459 resolved
Chris Richardson created an issue

The present Timer system has some drawbacks, especially in parallel. Some features which would be nice:

  1. Knowledge of nested timers, so the same piece of code is not counted twice
  2. Machine readable output format, for plotting graphs
  3. Aggregation of timers in parallel, to produce a single output
  4. Max/min/average calculation for each timer

Both boost and Eigen (required dependencies) have nice timers available.

Comments (13)

  1. Prof Garth Wells

    C++11 has some new timing facilities too.

    I use Boost timer, but the downside is that it's not header-only which adds a little extra complication to the build and configure process.

  2. Chris Richardson reporter

    This issue could be closed. Only one small thing - @blechta - the deprecation message for list_timings() in Python is not very helpful.

    The replacement for list_timings() is list_timings(TimingClear_clear, [TimingType_wall]) ?

  3. Jan Blechta

    It is list_timings(TimingClear_keep, [TimingType_wall]) I think. Do you suggest to keep list_timings() executing list_timings(TimingClear_clear, [TimingType_wall]) or just improving deprecation message?

  4. Jan Blechta

    Remainder for me: doc is not generated for enum class TimingClear and enum class TimingType, both in C++ and Py.

    Fix possibly here.

  5. Log in to comment