On Sun, Oct 07, 2018 at 10:16:08AM +0000, Amjad Ben Hedhili wrote: > I think that a time decorator will be a useful addition to the sandard > library, as i find the current way of measuring execution time a bit > tedious: > > timeit.timeit("fun_to_time(a, b)", setup="from __main__ import a, b", > number=1)
There are lots of ways to call timeit, but generally if you are calling it with number=1 then your results may not be trustworthy. (That depends on the function, of course.) There's a reason why timeit defaults to number=1000000 rather than 1. > compared to: > > @timef > def fun_to_time(a, b): > ... The problem with that as an API is that once you have decorated the function to call timeit, how do you use it *without* calling timeit? If you use functools.wraps, there will be a func_to_time.__wrapped__ but I don't think that calling that directly is a good interface. > or > > timef(print)("Hello world!"). > > I already made a basic implementation of it, and it's working well. Can you explain what the timef decorator does? What arguments does it take, how do we use it? -- Steve _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/