Самое печальное в задачах - это их понимание того - что же нужно сделать?! Порой они написаны таким неоднозначным языком, что прочитав условия задачи раз, два, три и более раз понимаешь что ничего не понимаешь. Итак, условия задачи: Каждый лог содержит в себе метку времени, а значит, правильно организовав логирование, можно отследить, сколько времени выполняется функция. Программа, которую вы видите в файле measure_me.py, по умолчанию пишет логи в stdout. Внутри неё есть функция measure_me, в начале и в конце которой пишется "Enter measure_me" и "Leave measure_me" ...
Часто на форумах и чатах возникают горячие споры о том, какой же вариант кода из нескольких выполняется быстрее. К счастью, в Python есть модуль timeit, который позволяет быстро замерить и сравнить производительность кода. 📎 Пример: определим, какой вариант кода быстрее: >>> import timeit >>> timeit.timeit('"-".join(str(n) for n in range(100))', number=10000) 0.23387694358825684 >>> timeit.timeit('"-".join([str(n) for n in range(100)])', number=10000) 0.20793890953063965 >>> timeit.timeit('"-"...