Pull to refresh
0
@Ulotiread⁠-⁠only

User

Send message

Глобальная блокировка интерпретатора (GIL) и её воздействие на многопоточность в Python

Reading time34 min
Views61K

Прим. Wunder Fund: в статье рассказано, зачем появилась и существует глобальная блокировка интерпретатора в Питоне, как она работает, и как она влияет на скорость работы Питона, а также о том, куда в будущем, вероятно, будет двигаться Питон. У нас в фонде почти всё, что не написано на плюсах — написано на Питоне, мы пристально следим за тем, куда движется язык, и если вы тоже — вы знаете, что делать )

Как вы, наверное, знаете, глобальная блокировка интерпретатора (GIL, Global Interpreter Lock) — это механизм, обеспечивающий, при использовании интерпретатора CPython, безопасную работу с потоками. Но из-за GIL в конкретный момент времени выполнять байт-код Python может лишь один поток операционной системы. В результате нельзя ускорить Python-код, интенсивно использующий ресурсы процессора, распределив вычислительную нагрузку по нескольким потокам. Негативное влияние GIL на производительность Python-программ, правда, на этом не заканчивается. Так, GIL создаёт дополнительную нагрузку на систему. Это замедляет многопоточные программы и, что выглядит достаточно неожиданно, может даже оказать влияние на потоки, производительность которых ограничена подсистемой ввода/вывода.

Здесь я опираюсь на особенности CPython 3.9. По мере развития CPython некоторые детали реализации GIL, определённо, изменятся. Материал опубликован 22 сентября 2021 года, после публикации в него внесено несколько дополнений.

Читать далее

Пол Грэм: «Нечто большее, чем интеллект»

Reading time6 min
Views16K
image


Если бы вы спросили людей, что особенного было в Эйнштейне, большинство ответило бы, что он был очень умным. Даже те, кто попытался бы дать вам более утонченно звучащий ответ, вероятно, подумали бы именно так в первую очередь. Еще несколько лет назад я бы и сам ответил так же. Но особенность Эйнштейна заключалась не в этом. Особенным в нем было то, что у него были новые важные идеи. Быть очень умным было необходимым условием для появления этих идей, но эти два понятия не идентичны.

Может показаться чересчур педантичными искать разницу между интеллектом и его последствиями, но нет. Между ними существует большой разрыв. Любой, кто проводил время в университетах и исследовательских лабораториях, знает, насколько она велика. Есть много по-настоящему умных людей, которые не достигают чего-то существенного.

В детстве я думал, что больше всего в жизни люди хотят быть умными. Вероятно, вы тоже так думали. Но готов поспорить, это не то, что вы хотели. Представьте, что вам дали выбор: быть умным и не совершать открытий или, быть чуть менее умным, но открывать много новых идей. Вы бы наверняка склонились ко второму варианту — уж я-то точно. Да, делать такой выбор немного неловко, но его преимущества очевидны.
Читать дальше →

Data Science: лучшие учебные курсы и программы сертификации

Reading time7 min
Views25K
Можно получить два-три десятка Data Science-сертификатов, но по-настоящему стоящих программ сертификации из сферы науки о данных, по моему мнению, не так уж и много. Я хочу рассказать о нескольких таких программах, поддерживаемых авторитетными организациями. Эти программы я оцениваю по разным признакам. В частности — по объёму рассматриваемых в их рамках тем, по их «весу» в глазах потенциального работодателя, по репутации организации, реализующей программу. В последние несколько лет я являюсь и специалистом по анализу данных, и дата-сайентистом. Всё это время у меня формировалось понимание того, что сильнее всего влияет на успех человека в сфере Data Science (DS).



Здесь я рассмотрю ведущие программы Data Science-сертификации, входящие в список, собранный ресурсом Indeed. Из этого списка я выбрал четыре, которые кажутся мне наиболее достойными. Им и посвящён этот материал.
Читать дальше →

«Симпсоны» — лучшее TV-шоу для изучения английских слов. Доказано Big Data

Reading time6 min
Views17K

Мы уже давно говорим о том, что супер круто изучать английский по сериалам. Ведь главное их преимущество — повторение лексики. Из эпизода в эпизод большинство лексем повторяется много раз, что идеально для пополнения словарного запаса.

«Симпсоны» занимают особое место среди остальных сериалов и мультиков. Мы советуем его студентам из-за разнообразной лексики из разных сфер жизни. Но наше мнение основывалось на опыте преподавателей, а не на статистике и аналитике.

И вот мы нашли материал, который полностью подтверждает нашу точку зрения с помощью аналитики big data. Френк Андраде, Python-программист и data-аналитик, проанализировал 679 серий «Симпсонов» с точки зрения используемой лексики.  Спешим поделиться тем, что мы в нем узнали.

Читать далее

Анатомия RAM

Reading time14 min
Views113K
image

У каждого компьютера есть ОЗУ, встроенное в процессор или находящееся на отдельной подключенной к системе плате — вычислительные устройства просто не смогли бы работать без оперативной памяти. ОЗУ — потрясающий образец прецизионного проектирования, однако несмотря на тонкость процессов изготовления, память ежегодно производится в огромных объёмах. В ней миллиарды транзисторов, но она потребляет только считанные ватты мощности. Учитывая большую важность памяти, стоит написать толковый анализ её анатомии.

Итак, давайте приготовимся к вскрытию, выкатим носилки и отправимся в анатомический театр. Настало время изучить все подробности каждой ячейки, из которых состоит современная память, и узнать, как она работает.

Зачем же ты, RAM-ео?


Процессорам требуется очень быстро получать доступ к данным и командам, чтобы программы выполнялись мгновенно. Кроме того, им нужно, чтобы при произвольных или неожиданных запросах не очень страдала скорость. Именно поэтому для компьютера так важно ОЗУ (RAM, сокращение от random-access memory — память с произвольным доступом).

Существует два основных типа RAM: статическая и динамическая, или сокращённо SRAM и DRAM.

Мы будем рассматривать только DRAM, потому что SRAM используется только внутри процессоров, таких как CPU или GPU. Так где же находится DRAM в наших компьютерах и как она работает?
Читать дальше →

Сливы процветают. Эксперт-«параноик» Майкл Баззель о защите личных данных

Reading time6 min
Views5.1K

Наш очередной пост из серии «интересное на иностранном языке» – рассказ Майкла Баззеля о том, как сберечь свои персональные данные от утечек. Майкл – знаковая фигура в сфере OSINT, работал в правительстве США и ФБР, его приглашали в качестве технического эксперта в сериал «Мистер Робот», который считают достойным с точки зрения достоверности. В личной жизни эксперт придерживается настолько жестких правил в отношении информационной гигиены, что некоторые считают его «неадекватом». Так ли это – может быть несколько мнений.

Один из факторов, который убеждает в правильном подходе Майкла, – что риски обнаружить свои данные в интернете стали существенно выше, потому что шифровальщики без разбору сливают в сеть все, до чего дотягиваются при атаках на бизнес. Приводим перевод поста Майкла Баззеля.

Атакуют корпорации, а страдают люди

Большинство людей не задумываются о том, как их касается проблема распространения вирусов-шифровальщиков. Логика такова: речь идет о проблемах компаний, это они вынуждены платить выкуп. При чем тут, казалось бы, обычные люди?!

А при том, что преступники сменили тактику: сейчас они не просто шифруют данные, но и скачивают их, выкладывают в открытый доступ, если компании не платят им выкуп. Теперь давайте подумаем, что в этих слитых базах? Множество данных о сотрудниках, клиентах, контрагентах, с которыми компания-жертва работает.

Хочу сразу уточнить: я это пишу не потому что выступаю за уплату выкупа. Я за то, чтобы сопротивляться избыточному сбору данных там, где это не обязательно. Мы халатно относимся к своим ПДн, раздавая их по первому требованию.

Читать далее

Будь строже к себе: как ограничения помогают сделать код лучше

Reading time7 min
Views9.1K

Если вам приходилось задумываться о построении эффективной экосистемы проекта и определении ролей тимлида и разработчика — статья Артема Прозорова из ZeBrains для вас.

Предлагаю вам задуматься над одним вопросом. Но не спешите с ответом, потому что он не так очевиден, как может показаться:

Какая из команд может реализовать более технически стабильный продукт? 

Команда №1: Проектный менеджер, аналитик, тестировщик и несколько разработчиков, у каждого из которых за плечами минимум три года опыта. Все работают в одном офисе, посвящая свое время одному проекту в режиме fulltime.

Команда №2: Один сильный разработчик. Ему помогают множество не знакомых между собой людей из разных часовых поясов. У каждого — свой набор компетенций и уровень опыта. Работой над проектом участники занимаются в свободном режиме, по несколько часов в неделю.

* * *

Ответ на этот вопрос получим к концу статьи.

Читать далее

Работаем с текстами на Python: кодировки, нормализация, чистка

Reading time9 min
Views94K

Об обработке текстов на естественном языке сейчас знают все. Все хоть раз пробовали задавать вопрос Сири или Алисе, пользовались Grammarly (это не реклама), пробовали генераторы стихов, текстов... или просто вводили запрос в Google. Да, вот так просто. На самом деле Google понимаетот него хотите, благодаря ш, что вы тукам, которые умеют обрабатывать и анализировать естественную речь в вашем запросе.

При анализе текста мы можем столкнуться с ситуациями, когда текст содержит специфические символы, которые необходимо проанализировать наравне с "простым текстом" или формулы, например. В таком случае обработка текста может усложниться.

Вы можете заметить, что если ввести в поисковую строку запрос с символами с ударением (так называемый модифицирующий акут), к примеру "ó", поисковая система может показать результаты, содержащие слова из вашего запроса, символы с ударением уже выглядят как обычные символы.

Так как всё-таки происходит обработка таких запросов?

Читать далее

Information

Rating
Does not participate
Registered
Activity