• Jueves 14 de Noviembre de 2024, 17:13

Autor Tema:  Módulo timeit  (Leído 1510 veces)

KurtCobain94

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Módulo timeit
« en: Viernes 16 de Abril de 2010, 10:55 »
0
He hecho un programa en Python con Interfaz gráfica (TKinter). Mi programa tiene varias clases (objetos). Sin entrar en detalles:

Clase main crea otra clase:
Código: Python
  1. root = Tk()
  2.     clase2 = clase2(root)
  3.  

Esta clase2 tiene un __init__ y varias funciones. El programa en sí lee datos de un fichero, opera con ellos etc...

La cuestión es que necesito comprobar con el módulo timeit el tiempo de ejecución de una de las funciones de clase2.

Lo he probado todo y no he conseguido hacerlo funcionar. La importación del módulo se hace correctamente, pero no sé si el Timer lo tengo que llamar en clase2, crear una clase aparte (Reloj.py) que se ocupe de testearlo...

Como resumen, este módulo se utiliza así:
Código: Python
  1.  
  2. def foo(x):
  3.     return x+1
  4.  
  5. import timeit
  6. timeit.Timer("foo(1)","from __main__ import foo")
  7.  
  8.  

Es decir, al Timer se le pasa como primer parámetro el nombre de la función y sus parámetros, y en el segundo se llama al módulo. Sin embargo, si hago un from clase2 import funcion_a_testear, no me encuentra esa función, ya que es del objeto. He probado de hacer
Código: Python
  1. from clase2 import self.funcion_a_testear
  2.  
Código: Python
  1. from clase2 import funcion_a_testear()
  2.  

Pero nada...

He buscado mucho por Google y he puesto los enlaces para que los vieseis, pero no me deja postearlos...

¡Gracias!