El día 27 de diciembre de 2012 00:50, Daπid <davidmen...@gmail.com> escribió: > Más fácil: > > import time > > t0 = time.time() > > [...] > > dt = time.time() - t0 > > print int(dt / 3600), ':', int(dt % 3600 / 60), ':', dt % 60 > > Si quieres, puedes meter eso en un decorador, pero yo lo uso > directamente. Así puedo medir tanto las funciones como el resto del > proceso.
No sé si nos estamos saliendo del tema. Existe un problema, time.time depende de la plataforma. En windows, por ejemplo, es más preciso time.clock, reloj del sistema, que time.time, tiempo de proceso. En linux es al revés. En python 3.3 se introduce time.perf_counter() que ofrece siempre el reloj más preciso para hacer una medición "benchmark" y time.process_time() para medir tiempos de CPU "profiling".[1] Por éso es recomendable usar el módulo timeit para medir pequeños fragmentos de código. Timeit usa siempre el reloj más preciso, además de desactivar servicios que podrían afectar a la medida como el "recolector de basura" (garbage collector). Lo más sencillo para usar timeit es emplear ipython o invocarlo directamente como módulo: python -m timeit -n100 miprograma.py [1]: http://www.python.org/dev/peps/pep-0418 "PEP-0418" -- Hyperreals *R: http://ch3m4.org/blog Quarks, bits y otras criaturas infinitesimales _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/