Gnumed.timelinelib.timer

Package Gnumed :: Package timelinelib :: Module timer |
[frames] | no frames]

# Source Code for Module Gnumed.timelinelib.timer

     1  # Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018  Rickard Lindberg, Roger Lindberg
     2  #
     3  # This file is part of Timeline.
     4  #
     5  # Timeline is free software: you can redistribute it and/or modify
     6  # it under the terms of the GNU General Public License as published by
     7  # the Free Software Foundation, either version 3 of the License, or
     8  # (at your option) any later version.
     9  #
    10  # Timeline is distributed in the hope that it will be useful,
    11  # but WITHOUT ANY WARRANTY; without even the implied warranty of
    12  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    13  # GNU General Public License for more details.
    14  #
    15  # You should have received a copy of the GNU General Public License
    16  # along with Timeline.  If not, see <http://www.gnu.org/licenses/>.
    17
    18  """Contains the Timer class."""
    19
    20  import sys
    21  import time
    22
    23
    24 -class Timer(object):
    25      """
    26      A general timer that can measure the elapsed time between
    27      a start and end time.
    28
    29      The timer function used, depends on os (as in timeit.py Python standard library)
    30
    31      * On Windows, the best timer is time.clock()
    32      * On most other platforms the best timer is time.time()
    33      """
    34 -    def __init__(self, timer=None):
    35          if timer is not None:
    36              self.default_timer = timer
    37          else:
    38              if sys.platform == "win32":
    39                  self.default_timer = time.clock
    40              else:
    41                  self.default_timer = time.time
    42
    43 -    def start(self):
    44          """Start the timer."""
    45          self._start = self.default_timer()
    46
    47 -    def end(self):
    48          """Stop the timer."""
    49          self._end = self.default_timer()
    50
    51      @property
    52 -    def elapsed_ms(self):
    53          """Return the elapsed time in milliseconds between start and end."""
    54          return (self._end - self._start) * 1000
    55