Компания
159,33
рейтинг
17 декабря 2013 в 16:38

Разработка → Python Meetup: ноябрьская встреча tutorial

image

В конце ноября в Минске прошла очередная встреча Python Meetup. Четыре интереснейших доклада на около-python-овские темы, авторитетные спикеры. Кстати, впервые к нам приехал спикер не из Беларуси — это был Андрей Власовских, опытный докладчик из компании JetBrains.

В ноябрьском митапе мы рассмотрели опциональную типизацию в Python, асинхронное распределенное выполнение задач, введение в GIL и новый GIL, а также использование gevent для эмуляции высокой нагрузки.
Видео всех докладов, как и ссылки на презентации, можно найти под катом.

1. Введение в GIL и новый GIL, Андрей Нехайчик gnomeby, Wargaming.net | COOO «Гейм Стрим»


— Треды, отличия от потоков.
— Как использовать треды.
— Тестирование производительности (и облом).
— Представление GIL, как он работает.
— Освобождение по I/O, 100 тиков.
— Зачем нужен GIL.
— Проблемы переключения потоков (медленный захват).
— Проблема 100 тиков.
— Проблема отсутствия приоритетов и их типов.
— Новый GIL, 5 миллисекунд, drop_request.
— Когда drop_request не работает.
— Соревнование CPU и I/O тредов.
— Как борются с GIL: тезисы о numpy, Jython, multiprocessing.

2. Опциональная типизация в Python, Андрей Власовских, JetBrains


С появлением новых библиотек и диалектов для типизации Python вновь оживилась
дискуссия о необходимости и способах введения опциональных типов в Python. В докладе рассказано о текущем состоянии этой области, в том числе и об инициативах JetBrains.

3. Использование gevent для эмуляции высокой нагрузки, Александр Колесень, SiliconMint


Обязательное действие перед выпуском более-менее серьёзного проекта — тестирование производительности. На высоконагруженных проектах нужно точно знать, какую нагрузку они могут выдержать, причём заранее. Следовательно, нужен способ эмуляции высокой конкурентности, желательно чтобы в теории он позволял полностью загрузить канал траффиком. К тому же, неплохо было бы, чтобы для этого не нужно было использовать несколько десятков серверов. В докладе рассказано об опыте использования gevent для подобной задачи, что позволяет бы обойтись одним t1.micro инстансом, с которого выполняется тестирование.

4. Асинхронное распределенное выполнение задач. Stdlib, Celery, RQ и собственные велосипеды, Роман Иманкулов, doist.io


Когда необходимо заставить веб-приложение выполнить тяжелую работу без ухудшения user experience, или нужно по-быстрому собрать кластер на коленке, возникает потребность в распределенном выполнении очередей команд. В докладе рассмотрены варианты организации таких очередей подручными средствами, выяснено, чем так хорош Celery, есть ли у него достойные альтернативы, и как написать рабочий менеджер очередей в тридцать строчек кода.
Автор: @Wargaming

Похожие публикации

Комментарии (2)

  • 0
    Работа с GIL — грёбаный костыль.
    Обработка сигналов — это просто вау!
  • НЛО прилетело и опубликовало эту надпись здесь

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка