Function to show time to execute another function

Mark Lawrence breamoreboy at yahoo.co.uk
Sun Jun 7 06:16:30 EDT 2015


On 07/06/2015 09:22, Cecil Westerhof wrote:
> On Sunday  7 Jun 2015 09:39 CEST, Mark Lawrence wrote:
>
>> On 07/06/2015 07:39, Cecil Westerhof wrote:
>>> Sometimes I just want to know how much time a function takes, but
>>> at the same time I also want the result of the function. For this I
>>> wrote the following function: def time_test(function, *args):
>>> startTime = time.time() results = function(*args) endTime =
>>> time.time() print('It took {0} seconds'.format(endTime -
>>> startTime)) return results
>>>
>>> I can do:
>>> time_test(test_random, 100, 10 ** 5)
>>> This outputs:
>>> It took 17.01685857772827 seconds
>>> and returns:
>>> (98592, 100833, 0.977775133140936)
>>>
>>> When executing:
>>> time_test(test_random, 100, 10 ** 6)
>>> it outputs:
>>> It took 165.26371836662292 seconds
>>> and returns:
>>> (997103, 1002009, 0.9951038363926871)
>>>
>>
>> https://docs.python.org/3/library/timeit.html
>> https://docs.python.org/3/library/profile.html
>
> That only times the function. I explicitly mentioned I want both the
> needed time AND the output.
>
> Sadly the quality of the answers on this list is going down. Here I
> get an alternative that does only half what I want and when writing an
> alternative for ‘!find’ I am told I could use ‘!find’ (which only
> works in ipython, not python and which also not works with Windows).
>

I suggest that you stop asking so many question here.  Get your cheque 
book and go for paid support.

-- 
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence




More information about the Python-list mailing list