Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #41213 > unrolled thread

timeit module in IDLE

Started byChris Angelico <rosuav@gmail.com>
First post2013-03-14 17:58 +1100
Last post2013-03-14 17:58 +1100
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python


Contents

  timeit module in IDLE Chris Angelico <rosuav@gmail.com> - 2013-03-14 17:58 +1100

#41213 — timeit module in IDLE

FromChris Angelico <rosuav@gmail.com>
Date2013-03-14 17:58 +1100
Subjecttimeit module in IDLE
Message-ID<mailman.3287.1363244328.2939.python-list@python.org>
While putting together some timing stats for the latest Python 3.3
string representation thread, I ran into an oddity in how IDLE handles
timeit. The normal way to profile Python code, according to stuff I've
found on the internet, is timeit.timeit:

>>> import timeit
>>> timeit.timeit("s=s[:-1]+u'\u1234'","s=u'asdf'*10000",number=10000)
0.57752172412974268

Now I knew that the module I wanted was timeit, but I didn't remember
the full incantation, so I did the obvious thing:

>>> import timeit
>>> timeit.<ctrl-space>

Only one thing came up: Timer. And help(timeit) doesn't mention
timeit.timeit either. Whereas the documentation:

http://docs.python.org/2/library/timeit.html
http://docs.python.org/3/library/timeit.html

clearly states that timeit.timeit() is the way to do things.

Snooping the source shows that timeit.timeit() is just a tiny
convenience function (alongside timeit.repeat()), but it'd still be
nice to have that come up in the Ctrl-Space list, since it's the
most-normal way to run timing tests.

Would there be a problem with adding timeit (and possibly repeat) to __all__?

-__all__ = ["Timer"]
+__all__ = ["Timer", "timeit"]

ChrisA

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web