On May 24, 11:30 am, 7stud <[EMAIL PROTECTED]> wrote:
> On May 24, 9:36 am, "[EMAIL PROTECTED]"
>
>
>
> <[EMAIL PROTECTED]> 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()

Actually, you could do this:

class Dog(object):
    def aFunction(self):
        result = 20 + 2
    def run(self):
        #do stuff
        aFunction()
        #do other stuff
import timeit

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


It doesn't matter if you call aFunction() directly if all you want to
do is time aFunction().

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to