Skip to content

Commit 3a17b54

Browse files
committed
Finish the target_time changes
1 parent dfb4318 commit 3a17b54

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

Lib/test/test_timeit.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ def test_timeit_function_zero_iters(self):
151151
timer=FakeTimer())
152152
self.assertEqual(delta_time, (1, 1.0))
153153

154-
def test_timeit_function_max_time_taken(self):
154+
def test_timeit_function_target_time(self):
155155
delta_time = timeit.timeit(self.fake_stmt, self.fake_setup, number=0,
156156
timer=FakeTimer(), target_time=1)
157157
self.assertEqual(delta_time, (1, 1.0))
@@ -201,7 +201,7 @@ def test_repeat_callable_stmt(self):
201201
self.repeat(self.fake_callable_stmt, self.fake_setup,
202202
repeat=3, number=5)
203203

204-
def test_repeat_callable_max_time_taken(self):
204+
def test_repeat_callable_target_time(self):
205205
self.repeat(self.fake_callable_stmt, self.fake_setup,
206206
repeat=3, number=5, target_time=1)
207207

Lib/timeit.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@
1717
-p/--process: use time.process_time() (default is time.perf_counter())
1818
-v/--verbose: print raw timing results; repeat for more digits precision
1919
-u/--unit: set the output time unit (nsec, usec, msec, or sec)
20-
-t/--target_time: if number is 0 the code will run until it
21-
takes *at least* ``target_time`` seconds
20+
-t/--target_time T: if number is 0 the code will run until it
21+
takes *at least* ``target_time`` seconds
22+
(default: 0.2)
2223
-h/--help: print this usage message and exit
2324
--: separate options from statement, use when statement starts with -
2425
statement: statement to be timed (default 'pass')
@@ -30,7 +31,7 @@
3031
3132
If -n is not given, a suitable number of loops is calculated by trying
3233
increasing numbers from the sequence 1, 2, 5, 10, 20, 50, ... until the
33-
total time is at least 0.2 seconds.
34+
total time is at least target_time seconds.
3435
3536
Note: there is a certain baseline overhead associated with executing a
3637
pass statement. It differs between versions. The code here doesn't try
@@ -223,7 +224,7 @@ def autorange(self, callback=None, target_time=None):
223224
total time >= target_time (default is 0.2 seconds).
224225
225226
Calls the timeit method with increasing numbers from the sequence
226-
1, 2, 5, 10, 20, 50, ... until the max_time_taken is reached.
227+
1, 2, 5, 10, 20, 50, ... until the target_time is reached.
227228
Returns (number, time_taken).
228229
229230
If *callback* is given and is not None, it will be called after
@@ -281,9 +282,9 @@ def main(args=None, *, _wrap_timer=None):
281282
colorize = _colorize.can_colorize()
282283

283284
try:
284-
opts, args = getopt.getopt(args, "n:u:s:r:pvh",
285+
opts, args = getopt.getopt(args, "n:u:s:r:pt:vh",
285286
["number=", "setup=", "repeat=",
286-
"process", "max_time_taken=",
287+
"process", "target_time=",
287288
"verbose", "unit=", "help"])
288289
except getopt.error as err:
289290
print(err)
@@ -319,7 +320,7 @@ def main(args=None, *, _wrap_timer=None):
319320
if o in ("-p", "--process"):
320321
timer = time.process_time
321322
if o in ("-t", "--target_time"):
322-
target_time = a
323+
target_time = float(a)
323324
if o in ("-v", "--verbose"):
324325
if verbose:
325326
precision += 1
@@ -339,7 +340,7 @@ def main(args=None, *, _wrap_timer=None):
339340

340341
t = Timer(stmt, setup, timer, target_time=target_time)
341342
if number == 0:
342-
# determine number so that 0.2 <= total time < 2.0
343+
# determine number so that total time >= target_time
343344
callback = None
344345
if verbose:
345346
def callback(number, time_taken):

0 commit comments

Comments
 (0)