...

вторник, 17 декабря 2013 г.

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

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. Использование gevent для эмуляции высокой нагрузки , Александр Колесень, SiliconMint


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


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


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


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


С появлением новых библиотек и диалектов для типизации Python вновь оживилась

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


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.


Комментариев нет:

Отправить комментарий