[Python-es] como saber cuanto tarda en ejecutarse una funcion?

Ricardo Azpeitia Pimentel razpeitia en gmail.com
Mie Ago 14 18:23:26 CEST 2013


Puedes usar el modulo timeit (en la documentación hay suficientes ejemplos)

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

Creo que 10ms es bastante tiempo. Pero en caso que tu funcion tarde
mas en ejecutarse puedes hacer varias cosas:

1. Optimizar tu código
2. Escribir esa parte en C
3. Los datos que recibas los puedes ir poniendo en un queue y tener
workers que consuman esa información (de manera asincrónica).


El día 14 de agosto de 2013 02:52, monoBOT <monobot.soft en gmail.com> escribió:
> Yo para eso uso una función decoradora,
> http://monobotblog.alvarezalonso.es/archives/1083 aunque la salida es en
> segundos.
>
> Deberás ajustar la precisión para que te lo de en milisegundos
> http://docs.python.org/3.2/library/datetime.html#timedelta-objects
>
> Saludos
>
>
> El 14 de agosto de 2013 04:43, xiao xiong mao panda rojo
> <ailurus.fulgens en hotmail.com> escribió:
>>
>> trabajo en un programa que lee el puerto serial, toma unos 12 bytes,
>> realiza una larga función y lee el serial otra ves, en un bucle infinito.
>> ya que recibe nuevos datos vía serial cada 10 mili-segundos mi función
>> debe terminar antes.
>> creo que la función esta tardando mucho mas en ejecutarse.
>>
>> seguramente alguno ha hecho esto antes.
>> alguna forma sencilla de saber cuanto le toma a la función completarse?
>> con arduino uso el método micros() que cuenta los micro-segundos que lleva
>> encendido el microcontrolador
>>
>> unsigned long tt = micros();
>> aLongProcess();
>> Serial.println( micros()-tt );
>>
>> no hay problema si consigo los resultados en micro o mili segundos
>> gracias
>>
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>
>
>
> --
> monoBOT
> Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>


Más información sobre la lista de distribución Python-es