How can I time a method of a class in python using Timeit

7stud bbxx789_05ss at yahoo.com
Thu May 24 13:30:43 EDT 2007


On May 24, 9:36 am, "silverburgh.me... at gmail.com"
<silverburgh.me... at gmail.com> wrote:
> Hi,
>
> I am using timeit to time a global function like this
>
> t = timeit.Timer("timeTest()","from __main__ import timeTest")
> result = t.timeit();
>
> But how can i use timeit to time a function in a class?
> class FetchUrlThread(threading.Thread):
>     def aFunction(self):
>            # do something ....
>
>     def run(self):
>             # how can I time how long does aFunction() take here?
>             aFunction();
>
> Thank you.

How about this:

class Dog(object):
    def run(self):
        result = 10 * 20 + 3

import timeit

t = timeit.Timer("d.run()", "from __main__ import Dog; d = Dog()")
print t.timeit()




More information about the Python-list mailing list