Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше?
Читать полностью »
Метка «GIL»
Python на Хабре
2013-12-18 в 6:12, admin, рубрики: django, GIL, pygtk, pyqt4, python, python3, tkinter, tornado, twisted, wxpython, декораторы, обучение, Программирование, метки: Django, GIL, pygtk, pyqt4, python, python3, tkinter, tornado, twisted, wxpython, декораторы, обучениеPython Meetup: ноябрьская встреча
2013-12-17 в 12:38, admin, рубрики: celery, gevent, GIL, jetbrains, meetup, python, wargaming.net, Блог компании Wargaming.net, минск, Программирование, метки: celery, gevent, GIL, jetbrains, meetup, python, wargaming.net, минск
В конце ноября в Минске прошла очередная встреча Python Meetup. Четыре интереснейших доклада на около-python-овские темы, авторитетные спикеры. Кстати, впервые к нам приехал спикер не из Беларуси — это был Андрей Власовский, опытный докладчик из компании JetBrains.
В ноябрьском митапе мы рассмотрели опциональную типизацию в Python, асинхронное распределенное выполнение задач, введение в GIL и новый GIL, а также использование gevent для эмуляции высокой нагрузки.
Видео всех докладов, как и ссылки на презентации, можно найти под катом.
Читать полностью »
Учимся писать многопоточные и многопроцессные приложения на Python
2012-08-10 в 21:35, admin, рубрики: GIL, multithreading, python, многопоточное программирование, Программирование, метки: GIL, multithreading, python, многопоточное программированиеЭта статья не для матёрых укротителей Python’а, для которых распутать этот клубок змей — детская забава, а скорее поверхностный обзор многопоточных возможностей для недавно подсевших на питон.
К сожалению по теме многопоточности в Python не так уж много материала на русском языке, а питонеры, которые ничего не слышали, например, про GIL, мне стали попадаться с завидной регулярностью. В этой статье я постараюсь описать самые основные возможности многопоточного питона, расскажу что же такое GIL и как с ним (или без него) жить и многое другое.
Читать полностью »
Python threading или GIL нам почти не помеха
2012-04-01 в 9:31, admin, рубрики: GIL, python, метки: GIL, python Наверное всем, кто хоть раз интересовался Python, известно про GIL — его одновременно и сильное и слабое место.
Не мешая однопоточным скриптам работать, он ставит изрядные палки в колеса при многопоточной работе на CPU-bound задачах (когда потоки выполняются, а не висят попеременно в ожидании I/O и т.п.).
Подробности хорошо описаны в переводе двухгодичной давности. Побороть GIL в официальной сборке Python для настоящего распараллеливания потоков мы не можем, но можно пойти другим путем — запретить системе перебрасывать потоки Python между ядрами. В общем пост из серии, «если не нужно, но очень хочется» :)
Если вы знаете про processor/cpu affinity, пользовались ctypes и pywin32, то ничего нового не будет.
Читать полностью »