time.time() te da el tiempo en segundos, con precisión de microsegundos, igual que micros de arduino.
Si quieres hacerlo más fino, puedes usar timeit (método mágico %timeit de ipython), que hace una medida más precisa (útil, por ejemplo, si estás desarrollando y quieres ver si una optimización es efectiva). Si tu función llama a funciones dentro, lo mejor es hacer "profiling" para ver qué partes están llevando tiempo. Para esto te recomiendo runsnakerun. Si no tienes funciones internas, usa line_profiler, que medirá cada línea. Hace tiempo colaboré con Pybonacci en una lista de formas de acelerar Python. Si necesitas mejorar el rendimiento de tu función quizá alguna de estas te sea útil: http://pybonacci.wordpress.com/2012/05/01/python-es-lento/ Algunos consejos más concretos y prácticos, por Kiko: http://pybonacci.wordpress.com/2012/06/24/revisitando-python-es-lento-pequenos-trucos/ David. 2013/8/14 xiao xiong mao panda rojo <ailurus.fulg...@hotmail.com>: > 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@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/