Function to show time to execute another function

Cecil Westerhof Cecil at decebal.nl
Sun Jun 7 04:22:17 EDT 2015


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).

-- 
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof



More information about the Python-list mailing list