Тёмный

Простой способ замерить скорость работы кода в python 

Хитрый питон
Подписаться 9 тыс.
Просмотров 8 тыс.
50% 1

Часто нам надо понять, как быстро работает какой-то кусочек кода, какую чего часть оптимизировать и как изменилась скорость работы при переписывании. Давайте рассмотрим несколько вариантов, как это сделать.
Я в Telegram - t.me/tricky_python
Канал создан при поддержке сообщества Moscow Python.
Наш RU-vid-канал - / @moscowdjangoru
Курсы Learn Python - learn.python.ru/

Опубликовано:

 

3 мар 2021

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 33   
@antonnekrasov4639
@antonnekrasov4639 3 года назад
Отлично! Оптимизация в эпоху больших данных - это очень хорошая практика!
@dmitryshkinin8030
@dmitryshkinin8030 9 месяцев назад
Очень полезный урок. Отличная демонстрация! Спасибо!
@dayfuaim
@dayfuaim 3 года назад
Очень информативно и по делу. Узнаю комиссарову руку! :)
@volodymyr.storozhuk
@volodymyr.storozhuk 2 года назад
Спасибо, очень познавательно.
@user-qn7mf8mz3j
@user-qn7mf8mz3j 3 года назад
полезно и понятно, спасибо!
@valeriiz5930
@valeriiz5930 3 года назад
Спасибо! Очень классное видео! Все ясно и понятно. Интересно было бы узнать о лучших практиках в профилировании (с использованием декораторов), профайлерах и line_profiler.
@user-th6xg5bk4c
@user-th6xg5bk4c 3 года назад
Есть такое в планах, но пока не супер близких
@sainco3036
@sainco3036 3 года назад
спасибо.
@TNT_Pro
@TNT_Pro Год назад
ОТЛИЧНО МНЕ КАКРАС НУЖНО ЭТО😀😀😀
@dalerkhalilov9440
@dalerkhalilov9440 3 года назад
Этот комментарий не несёт никакой информации, а призван поддержать автора!
@user-sf3zv4wy8e
@user-sf3zv4wy8e 3 года назад
Мне кажется хорошо было бы рассказать здесь про профилирование (cProfile)
@user-th6xg5bk4c
@user-th6xg5bk4c 3 года назад
Это все-таки отдельная тема
@v01d_yt
@v01d_yt 3 года назад
3:55 Автор оговорился: usec - микросекунды, а не миллисекунды (см. en.wikipedia.org/wiki/Microsecond ).
@mmilerngruppe
@mmilerngruppe 2 года назад
автор не только оговорился, но и допустил ошибку. показано не среднее время, а минимальное время какой-то из произведённых итераций. информация интересная, но малозначащая.
@user-sz1km7nw3b
@user-sz1km7nw3b Год назад
Можно исходный код (ссылочку на github)? (чтоб данные с db приходили)
@user-tb2jp7kg2c
@user-tb2jp7kg2c 3 года назад
Большое спасибо! Правильно понимаю, что timeit не учитывает функцию time.sleep()? Пытался ради эксперимента это потестировать
@user-th6xg5bk4c
@user-th6xg5bk4c 3 года назад
Проверил python3 -m timeit "import time; time.sleep(3)" - работает как ожидалось
@avazart614
@avazart614 3 года назад
А почему в первом варианте symbol = ... + ... внутри цикла?
@user-th6xg5bk4c
@user-th6xg5bk4c 3 года назад
Я там специально это внес в цикл чтобы дальше показать, что так делать не надо :)
@VLS_NL
@VLS_NL 3 года назад
Всем привет! Почему то видео с этого канала у меня не появляются в подписке? У всех так? Уже не первый раз замечаю, хотя колокольчики и подписка есть.
@tumkir
@tumkir 3 года назад
тоже не появляются :( отслеживаю по каналу в телеграме, но хотелось бы на общей странице ютубовских подписок видеть
@user-th6xg5bk4c
@user-th6xg5bk4c 3 года назад
Очень странно, посмотрю настройки - возможно я что-то не так делаю
@VLS_NL
@VLS_NL 3 года назад
@@user-th6xg5bk4c наверное что то сделал, последнее видео про окружение уже появилось в списке подписок.
@user-th6xg5bk4c
@user-th6xg5bk4c 3 года назад
@@VLS_NL Да, погуглил и поправил настройки
@MrPalianytsia
@MrPalianytsia Год назад
нет строкИ, эти стрОки, эта строкА, эту строкУ
@snoop9860
@snoop9860 3 года назад
+1
@alexanderivanov899
@alexanderivanov899 Год назад
как работает timeit так и не понял
@mr.senmax6185
@mr.senmax6185 Год назад
Правильно говорить строкУ, а не стрОку
@palms1990
@palms1990 3 года назад
time.monotonic
@user-th6xg5bk4c
@user-th6xg5bk4c 3 года назад
У perf_counter точность выше, поэтому я предпочитаю его использовать
@palms1990
@palms1990 3 года назад
@@user-th6xg5bk4c спасибо, просто Вы сказали про длительные промежутки времени. Там погрешность monotonic не играет большой роли. Смотря где...
@user-th6xg5bk4c
@user-th6xg5bk4c 3 года назад
@@palms1990 в этом смысле да, просто perf_counter одновременно и монотонный и более точный, поэтому я его и рекомендовал
@MrPalianytsia
@MrPalianytsia Год назад
Почему не time.process_time()
Далее