Pull to refresh

Comments 2

А как проверялось с import calendar каждый раз (и зачем вообще оно проверялось)? Просто Python кэширует модули и последующие подключения производятся из словаря. С reload(calendar) (python 2)/from imp import reload; reload(calendar) картина будет совсем другой, хотя что именно следует использовать зависит от того, зачем это вообще проверялось, может надо до кучи ещё и зависимости перезагружать.

Кстати, сам модуль использует year % 4 == 0 and (year % 100 != 0 or year % 400 == 0).
Некоторые разработчики помещают импорты непосредственно в тело функции, в которой используется тот или иной модуль, несмотря на то, что PEP 8 советует так не делать (вот ещё обсуждение на SO, в котором даже описывается, в каких случаях это может всё же не являться bad practice).

В данном тесте сравнивалось лишь время выполнения с импортом непосредственно в тестируемом snippet и время выполнения с импортом, передаваемым в аргументе setup (то, что timeit выполняет один раз).
Sign up to leave a comment.

Articles