Skip to content
Snippets Groups Projects

[cleanup] Remove old code in Dune::Timer

Merged Carsten Gräser requested to merge feature/cleanup-timer into master
All threads resolved!

Dune::Timer includes two alternative implementations for measuring time. Historically one was based on getrusage() and the other one on std::clock(). The former was the default and the latter could be enabled by defining a macro. Both in fact measured the time spend computing by the process.

In fa43f4bf the default code path was changed from getrusage() to std::chrono::high_resolution_clock::now() while std::clock() could still be enabled by the macro. This was in fact a breaking change because the new default version measures the elapsed real time.

This patch removed the non-default version based on std::clock because:

  • The breaking change happened almost 11 years so one can consider the new behavior the established 'correct' version.
  • The macro switch was neither documented nor tested.
  • Setting the macro manually in user code is error prone.
  • Both versions do completely different things leading to different measurements. It's not even clear that one produces larger numbers in general: std::clock adds up time spend computing in all threads of the process. Thus time in concurrent threads is added up, while the time a thread is sleeping is not counted.

There a minor grain of salt: The documentation still documented the old behaviour and instead of 'fixing' the code this patch adjusts the documentation to established reality.

Edited by Carsten Gräser

Merge request reports

Test summary results are being parsed

Merged by Christoph GrüningerChristoph Grüninger 1 month ago (Feb 6, 2025 1:32am UTC)

Merge details

  • Changes merged into with d2c74816.
  • Deleted the source branch.

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • added 12 commits

    • 96925d0a...8f1177e4 - 10 commits from branch master
    • 28cebf2a - [cleanup] Remove old code in Dune::Timer
    • a0ccdbe5 - Store timer duration in native duration type & Add proper test for timer

    Compare with previous version

  • Once the wording in the comment is resolved, I'd like to merge this.

  • resolved all threads

  • added 7 commits

    Compare with previous version

  • Christoph Grüninger enabled an automatic merge when all merge checks for 373b9675 pass

    enabled an automatic merge when all merge checks for 373b9675 pass

  • mentioned in commit d2c74816

  • Please register or sign in to reply
    Loading