Наверное всем, кто хоть раз интересовался Python, известно про GIL — его одновременно и сильное и слабое место.
Не мешая однопоточным скриптам работать, он ставит изрядные палки в колеса при многопоточной работе на CPU-bound задачах (когда потоки выполняются, а не висят попеременно в ожидании I/O и т.п.).
Подробности хорошо описаны в переводе двухгодичной давности. Побороть GIL в официальной сборке Python для настоящего распараллеливания потоков мы не можем, но можно пойти другим путем — запретить системе перебрасывать потоки Python между ядрами. В общем пост из серии, «если не нужно, но очень хочется» :)
Если вы знаете про processor/cpu affinity, пользовались ctypes и pywin32, то ничего нового не будет.
Читать полностью »
Рубрика «python» - 347
Python threading или GIL нам почти не помеха
2012-04-01 в 9:31, admin, рубрики: GIL, python, метки: GIL, pythonИнтерпретатор для… Си
2012-03-29 в 5:38, admin, рубрики: python, интерпретатор, Программирование, метки: c++, python, интерпретаторЗдравствуй, %username%!
Недавно меня посетила идея
Многие новички не хотят изучать Си (да и вообще все языки-компиляторы) из-за того, что даже после внесения незначительной правки, нужно перекомпилировать программу, что отнимает немало времени.
У интерпретаторов такого изъяна нет. У некоторых языков, например у python, есть даже интерактивный интерпретатор, котороый вообще позволяет не думать о второстепенных командах, по запуску приложения, и полностью отдаться процессу изучения языка.
Но что мешает написать интерпретатор (конечно это мы делать не будем) для Си?
Читать полностью »
В прошлой статье я рассказал о возможном способе снимать централизованные резервные копии конфигураций с маршрутизаторов MikroTik. Казалось бы на этом можно и успокоиться, но для некоторых филиалов руководство требует сиюминутного восстановления работы в случае выхода из строя любого участка сети. Первое, что приходит в голову — само собой, нужно иметь рядом две одинаковые железки. Однако вторая логичная мысль — использовать VRRP не подходит в силу ряда причин, одна из которых использование IPSec. Значит нужно снова шаманить костыль и синхронизировать конфигурацию в полуручном режиме, то есть скриптоваться.
Читать полностью »
Пользователь eyeofhell недавно написал статью Python vs Ruby
Знатный холивар получился. Не могу не поддержать. Сначала думал написать в комментарии — но ответ вышел слишком объемным.
DEVCONF 2012 — 9-10 июня в Москве. Приезжают авторы PHP, MySQL, MariaDB, MongoDB
2012-03-28 в 14:20, admin, рубрики: .net, mariadb, mongodb, mysql, perl, php, python, ruby, Блог компании DevConf, метки: .net, mariadb, mongodb, mysql, perl, PHP, python, ruby
Ты современный Web-разработчик?
Задай себе вопросы:
- Готов ли ты перейти на PHP 5.4?
- Стоит ли переходить на MariaDB?
- Как работает Python с вебсокетами, базами под нагрузкой?
- Что дает Google Closure Templates?
- Как запустить большой проект на Ruby?
- Можешь ли спроектировать успешный HighLoad проект?
- Сможешь ли создать распределенный офис разработки проектов?
- Как успешно внедрить Kanban и Scrum в небольшой команде
Шифр Виженера. Разбор алгоритма на Python
2012-03-27 в 19:12, admin, рубрики: python, криптография, шифр Виженера, шифрование, метки: python, шифр Виженера, шифрование Недавно захотелось вспомнить свое «шпионское» детство и хотя бы базово изучить разные методы шифрования. И первым выбор пал на шифр Виженера. Сам по себе он не является чрезвычайно сложным, но достаточно долго считался криптоустойчивым. Века эдак с XV и к самому XIX, пока некто Казиски полностью не взломал шифр.
Однако ограничим цитирование Википедии только описанием самого алгоритма.
Метод является усовершенствованным шифром Цезаря, где буквы смещались на определенную позицию.
Шифр Виженера состоит из последовательности нескольких шифров Цезаря с различными значениями сдвига.
Читать полностью »
Python vs Ruby
2012-03-27 в 7:42, admin, рубрики: python, ruby, Блог компании Фаматек, Программирование, метки: python, ruby Данная флеймообразующая статья призвана собрать в одном месте актуальную информацию по преимуществам Python над Ruby и Ruby над Python. Основываясь на собственном многолетнем опыте использования обоих языков, я постарался ограничить сравнение языками как таковыми и их стандартными библиотеками — сравнение web фреймворков, сред разработки и доступных библиотек не включены в статью, так как здесь и без меня немало копий сломано.
Читать полностью »
DevConf 2012 — пройдет 9 июня(суббота) в Москве — уже подано 33 заявки на доклады
2012-03-26 в 8:19, admin, рубрики: .net, devconf, perl, php, python, Блог компании DevConf, метки: .net, devconf, perl, PHP, python DevConf — профессиональная конференция, посвященная ведущим технологиям программирования и веб-разработки.
Участникам DevConf предоставляется уникальная возможность — получить доступ сразу ко всем лидирующим технологиям веб-разработки, послушав доклады от основателей этих технологий, приехавших в Москву со всего мира.
В рамках DevConf 2012 — 9 июня 2012 пройдут 5 конференций:
DevConf::PHP()
DevConf::Perl()
DevConf::Python()
DevConf::Ruby()
DevConf::JS()
9 июня 2012 года в рамках DevConf пройдет группа уникальных мастер-классов.
Читать полностью »
Мониторинг за изменениями файловой системы
2012-03-25 в 10:51, admin, рубрики: fsevents, inotify, python, системное администрирование, метки: fsevents, inotify, python В поисках готового велосипеда для решения задачи мониторинга за изменениями в ФС с поддержкой linux+freebsd наткнулся на приятную python либу watchdog (github, packages.python.org). Которая помимо интересных мне ОС поддерживает также MacOS (есть своя специфика) и Windows.
Тем, кому данный вопрос интересен и кого не отпугнет индийское происхождение автора, прошу Читать полностью »
Встречаем релиз Django 1.4
2012-03-23 в 17:10, admin, рубрики: django, python, метки: Django, python
О новых фишках, изменениях, несовместимостях со старыми версиями Django и Python можно почитать тут. Читать полностью »