tqdm/benchmarks/benchmarks.py

44 lines
1.3 KiB
Python
Raw Normal View History

# Write the benchmarking functions here.
# See "Writing benchmarks" in the asv docs for more information.
2016-10-31 00:26:10 +00:00
from __future__ import division
2016-10-31 00:26:10 +00:00
class FractionalOverheadSuite:
"""
An example benchmark that times the performance of various kinds
of iterating over dictionaries in Python.
"""
def setup(self):
2016-10-31 00:26:10 +00:00
try:
from time import process_time
self.time = process_time
except ImportError:
from time import clock
self.time = clock
from tqdm import tqdm
self.tqdm = tqdm
try:
self.iterable = xrange(int(6e6))
2016-10-31 01:53:14 +00:00
except NameError:
self.iterable = range(int(6e6))
2016-10-31 00:26:10 +00:00
t0 = self.time()
[0 for _ in self.iterable]
t1 = self.time()
self.t = t1 - t0
2016-10-31 00:26:10 +00:00
def track_tqdm(self):
2017-10-15 13:09:04 +00:00
with self.tqdm(self.iterable) as pbar:
t0 = self.time()
[0 for _ in pbar]
t1 = self.time()
2016-10-31 01:53:14 +00:00
return (t1 - t0 - self.t) / self.t
def track_optimsed(self):
2017-10-15 13:09:04 +00:00
with self.tqdm(self.iterable, miniters=6e5, smoothing=0) as pbar:
# TODO: miniters=None, mininterval=0.1, smoothing=0)]
t0 = self.time()
[0 for _ in pbar]
t1 = self.time()
2016-10-31 01:53:14 +00:00
return (t1 - t0 - self.t) / self.t