summaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/lldbbench.py
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2019-08-20 18:01:57 +0000
committerDimitry Andric <dim@FreeBSD.org>2019-08-20 18:01:57 +0000
commit88c643b6fec27eec436c8d138fee6346e92337d6 (patch)
tree82cd13b2f3cde1c9e5f79689ba4e6ba67694843f /packages/Python/lldbsuite/test/lldbbench.py
parent94994d372d014ce4c8758b9605d63fae651bd8aa (diff)
Notes
Diffstat (limited to 'packages/Python/lldbsuite/test/lldbbench.py')
-rw-r--r--packages/Python/lldbsuite/test/lldbbench.py118
1 files changed, 0 insertions, 118 deletions
diff --git a/packages/Python/lldbsuite/test/lldbbench.py b/packages/Python/lldbsuite/test/lldbbench.py
deleted file mode 100644
index 26ee6c21bd9a..000000000000
--- a/packages/Python/lldbsuite/test/lldbbench.py
+++ /dev/null
@@ -1,118 +0,0 @@
-from __future__ import absolute_import
-
-# System modules
-import time
-
-# Third-party modules
-
-# LLDB modules
-from .lldbtest import *
-
-
-class Stopwatch(object):
- """Stopwatch provides a simple utility to start/stop your stopwatch multiple
- times. Each start/stop is equal to a lap, with its elapsed time accumulated
- while measurment is in progress.
-
- When you're ready to start from scratch for another round of measurements,
- be sure to call the reset() method.
-
- For example,
-
- sw = Stopwatch()
- for i in range(1000):
- with sw:
- # Do some length operations...
- ...
- # Get the average time.
- avg_time = sw.avg()
-
- # Reset the stopwatch as we are about to perform other kind of operations.
- sw.reset()
- ...
- """
-
- #############################################################
- #
- # Context manager interfaces to support the 'with' statement.
- #
- #############################################################
-
- def __enter__(self):
- """
- Context management protocol on entry to the body of the with statement.
- """
- return self.start()
-
- def __exit__(self, type, value, tb):
- """
- Context management protocol on exit from the body of the with statement.
- """
- self.stop()
-
- def reset(self):
- self.__laps__ = 0
- self.__total_elapsed__ = 0.0
- self.__start__ = None
- self.__stop__ = None
- self.__elapsed__ = 0.0
- self.__nums__ = []
-
- def __init__(self):
- self.reset()
-
- def start(self):
- if self.__start__ is None:
- self.__start__ = time.time()
- else:
- raise Exception(
- "start() already called, did you forget to stop() first?")
- # Return self to facilitate the context manager __enter__ protocol.
- return self
-
- def stop(self):
- if self.__start__ is not None:
- self.__stop__ = time.time()
- elapsed = self.__stop__ - self.__start__
- self.__total_elapsed__ += elapsed
- self.__laps__ += 1
- self.__nums__.append(elapsed)
- self.__start__ = None # Reset __start__ to be None again.
- else:
- raise Exception("stop() called without first start()?")
-
- def laps(self):
- """Gets the number of laps. One lap is equal to a start/stop action."""
- return self.__laps__
-
- def avg(self):
- """Equal to total elapsed time divided by the number of laps."""
- return self.__total_elapsed__ / self.__laps__
-
- # def sigma(self):
- # """Return the standard deviation of the available samples."""
- # if self.__laps__ <= 0:
- # return None
- # return numpy.std(self.__nums__)
-
- def __str__(self):
- return "Avg: %f (Laps: %d, Total Elapsed Time: %f, min=%f, max=%f)" % (self.avg(
- ), self.__laps__, self.__total_elapsed__, min(self.__nums__), max(self.__nums__))
-
-
-class BenchBase(TestBase):
- """
- Abstract base class for benchmark tests.
- """
-
- def setUp(self):
- """Fixture for unittest test case setup."""
- super(BenchBase, self).setUp()
- # TestBase.setUp(self)
- self.stopwatch = Stopwatch()
-
- def tearDown(self):
- """Fixture for unittest test case teardown."""
- super(BenchBase, self).tearDown()
- # TestBase.tearDown(self)
- del self.stopwatch