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/