Skip to content

Idea to expose duration of a progress/infinite as a feature #100

@danizen

Description

@danizen

I noticed in much of the code where I use progress, I also give some feedback about throughput and duration.
I tried to recode this so that I was delegating this to the Progress/Infinite object, but two basic problems prevented this:

  1. The elapsed property is cast to int so that it cannot be used for accurate duration and throughput calculations
  2. The "timer" keeps running after the progress has been finished.

A solution to both is as follows:

  • use monotonic() when finish method is called and initialize an attribute called end_ts
  • add a duration attribute that returns self.end_ts - self.start_ts, and is not cast to int
  • document that users should used duration rather than elapsed

I also wonder whether you should switch to perf_counter() from monotonic() at this point, but I am not sure whether in CPython or pypy there is any practical difference.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions