TGViewer
Channel Public Channel
Питонические атаки

Питонические атаки

@pythonic_attacks

Всяческие заметки про программирование на Python и другие весёлые истории.
Subscribers
1.15K
Photos
184
Videos
4
Links
462

Showing posts older than #108 · Back to latest

Older Posts 20 shown
Post #107 192
Судя по расписанию, на PyCon US, который состоится уже совсем скоро в онлайне, будут выступления как минимум про pyjion (JIT-компилятор на основе .NET5) и Cinder (форк CPython с оптимизациями, используемый в Instagram). В целом, это объясняет почему такая активность в последнее время. А почему Pyston вышел из анабиоза именно сейчас — загадка. Видимо, просто совпадение.

Расписание PyCon: https://us.pycon.org/2021/schedule/talks/

Собирается ли кто-нибудь его смотреть? Регистрация платная, если что.
Post #106 197
Идея ускорения Python и правда как-то очень популярна в последнее время. Может оно всегда так было, а я просто не обращал внимания?

В конце прошлого года вышел .NET5, который теперь кросс-платформенный, полностью открытый и независимый от Microsoft (по крайней мере формально). Да, теперь оно работает не только на Windows. Для справки: наиболее популярными языками для .NET являются C# и F#. Предельно упрощенная схема работы в .NET вот такая:

Код на C# -> CIL -> машинный код

CIL — это промежуточное представление, в которое сначала компилируются все .NET-языки. Фишка в том, что .NET умеет оптимизировать этот CIL и компилировать его в машинный код, в том числе и в режиме JIT.

Есть такой проект — pyjion — который умеет конвертировать байт-код Python в CIL. Дальше хитрые механизмы .NET оптимизируют код и компилируют его на лету в эффективные машинные инструкции. А самая главная фишка — это не какой-то отдельный интерпретатор, это просто библиотека для ванильного CPython, так что весь ваш код должен работать точно так же. Всё, что нужно сделать — это установить на вашу машину .NET5 и добавить в начало программы (лучше даже до всех импортов) две строчки:

import pyjion
pyjion.enable()

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

Звучит невероятно круто, почитайте!

https://tonybaloney.github.io/posts/running-python-on-dotnet-5-with-pyjion.html

#pyjion #jit
tonybaloney.github.io Running Python on .NET 5 An update on the Pyjion project to plug a JIT into CPython using the .NET 5 CLR JIT compiler
Post #104 171
Ну очевидно же

#meme
Post #103 183
Интересная и забавная статья про то, почему нативные расширения (это которые написаны на C/Rust/…) для Python иногда работают не так быстро, как мы ожидаем. В конце статьи получилось так, что можно и на чистом Python сделать быстро, если хорошенько разобрать задачу 😅

https://pythonspeed.com/articles/python-extension-performance/
Python⇒Speed The hidden performance overhead of Python C extensions A compiled language like Rust or C is a lot faster than Python, with some caveats. Learn about the hidden overhead you’ll need to overcome.
Post #101 186
А нет ли у вас желания отвлечься от программирования на работе/учебе и ещё немного покодить для себя? Правила игры такие — я придумываю небольшую задачу (возможно даже интересную), мы все её решаем, а затем в процессе культурного перекидывания какашками без правил выясняем, чьё решение самое правильное и красивое. Язык — Python, само собой. Просто интересно понаблюдать за ходом мыслей других людей, как они подходят к решению и какими приёмами пользуются.
Post #100 182
Стоило только вспомнить про Pyston, как они в тот же день выпускают новый релиз с полностью открытыми исходниками. Заявляют, что можно просто заменить бинарник python на pyston и получить ускорение на 30%. К сожалению, внесены некоторые низкоуровневые изменения, из-за чего предсобранные пакеты (wheels) для CPython не подойдут, придётся все C/Rust/…-зависимости пересобирать из исходников.

https://blog.pyston.org/2021/05/05/pyston-v2-2-faster-and-open-source/
The Pyston Blog Pyston v2.2: faster and open source We are proud to announce Pyston v2.2, the latest version of our faster implementation of the Python programming language. This version is significantly faster than previous ones, and importantly is…
Post #99 183
opennet.ru Facebook открыл код Cinder, форка CPython, используемого в Instagram https://opennet.ru/55083/
☝️ Это ведь уже не первый форк CPython, где корпорации пытаются допилить его под свои нужды и срезать какие-то неоптимальные углы. Вспомнить хотя бы Pyston от Dropbox, который на разных бенчмарках показывает прирост производительности от 20 до 95% по сравнению с CPython. Хотя полностью они исходники так и не открыли.

Что я могу сказать по этому поводу. Во-первых, мне странно, что если корпорацию не устраивает производительность Python, им проще сделать свой форк интерпретатора, чем переписать свои проекты на более производительные языки (например, Golang). Видимо, у них там прям очень много кода, а горизонтальное масштабирование уже себя исчерпало. Во-вторых, хотя все эти ускоряющие проекты скорее всего обречены умереть в безвестности, хочется надеяться, что ценные идеи оттуда всё-таки постепенно переползут в CPython. Количество экспериментальных форков рано или поздно должно конвертироваться в качество основного проекта.

Кстати, а вы видели вот такой документ? Это план по ускорению CPython от одного из core-контрибьюторов: https://github.com/markshannon/faster-cpython/blob/master/plan.md
GitHub GitHub - pyston/pyston: (No longer maintained) A faster and highly-compatible implementation of the Python programming language. (No longer maintained) A faster and highly-compatible implementation of the Python programming language. - pyston/pyston
Post #98 175
Post #97 183
Кстати, снова про спонсоров Python Software Foundation. Мне почему-то показалось, что только Microsoft недавно стал Visionary Sponsor, хотя на самом деле два других спонсора — Google и Bloomberg — тоже получили этот статус совсем недавно. Благодаря этому PSF теперь может нанять двух фулл-тайм работников.

Разработчик, который будет заниматься поддержкой и развитием CPython.
https://pyfound.blogspot.com/2021/04/the-psf-is-hiring-developer-in.html

Проджект-менеджер, который будет заниматься развитием всего, что связано с pip, PyPI и системой пакетирования в целом.
https://pyfound.blogspot.com/2021/04/the-psf-is-hiring-python-packaging.html
Blogspot The PSF is hiring a Developer-in-Residence to support CPython! The Python Software Foundation is happy to announce the creation of the Developer-in-Residence role. The Developer-in-Residence will work fu...
Post #96 204
Кстати, прикольно, что в Python 3.10 будут улучшены сообщения об ошибках. Например, вместо общего «invalid syntax» Python сможет объяснять, что ему не хватает двоеточия или же пользователь пытается присвоить вместо сравнения (перепутал == и =). Это должно сильно помочь новичкам разобраться с языком, да и в целом это только улучшит впечатления от пользования языком.
Post #95 2.44K
Python 3.10 получил свой первый бета-релиз. Это значит, что наступил фича-фриз, дальше будут только баг-фиксы и улучшения в документацию. Напомню, что финальный релиз 3.10.0 ожидается в октябре.

https://pythoninsider.blogspot.com/2021/05/python-3810-395-and-3100b1-are-now.html

Кроме того, с этого момента можно считать официально начатой разработку ветки 3.11.
Blogspot Python Insider: Python 3.8.10, 3.9.5, and 3.10.0b1 are now available
Post #94 211
#оффтопик

Я в последнее время стал читать много разных источников, и вот, спустя 22 года после создания этого протокола, я стал активно пользоваться RSS. Feedly — очень удобный бесплатный клиент, есть и веб-версия, и мобильные приложения.

Дак вот, к чему это я. Бесит, что некоторые интересные источники существуют исключительно в виде e-mail рассылок. Мне кажется, что авторы таких ресурсов максимально не правы. Лично у меня письма на почту воспринимаются как что-то, что нужно открыть и прочитать как можно скорее, иначе оно будет доставать этим висячим уведомлением. Но я не всегда готов прям сразу брать и читать длинные письма рассылок. Но если я отмечу сообщение прочитанным, то потом забуду про него и не прочту, а я хочу прочитать, но не прямо сейчас. Намного удобнее просто открыть свой RSS-клиент в спокойной обстановке и в подходящее для меня время, и с радостью обнаружить, что мне принесли нового контента почитать. Короче, для регулярных изданий формат RSS-фидов мне кажется более подходящим, чем рассылки. Да и на почту у меня и так много чего сыпется, хотелось бы сокращать количество писем. Есть такой классный бесплатный сервис, который конвертирует e-mail рассылки в RSS-фиды: https://kill-the-newsletter.com/

И это просто офигенно! Если тоже мучаетесь, читая рассылки на почте, то рекомендую попробовать.

Вот какие рассылки я уже конвертировал для себя в RSS:

* https://tldr.tech/ — короткие ежедневные гиковские новости про технологии, науку и программирование;
* https://programmerweekly.com/ — еженедельные новости про разработку;
* https://pythonweekly.com/ — еженедельные новости про Python.

Кстати, поделитесь в комментариях рассылками и блогами, которые вы читаете 👇
Kill-The-Newsletter Kill the Newsletter! Convert email newsletters into Atom feeds
Post #93 253
Товарищ посоветовал игру для пятничного вечера — симулятор канбана. Забавно подвигать тикеты между столбцами, поназначать задачи разным людям. Цель игры — максимизировать прибыль. В игре, как и в жизни, постоянно происходит какая-то дичь, мешающая работать. Попробуйте!

http://www.kanbanboardgame.com/
Post #92 183
Microsoft становится PSF Visionary Sponsor. Чтобы вы понимали, это наивысшая степень спонсорства. На данный момент с таким же статусом спонсируют Python только Google и Bloomberg. Microsoft вообще молодцы.

https://pyfound.blogspot.com/2021/04/welcoming-microsoft-as-visionary-sponsor.html

А ещё из этого поста стало известно, что Гвидо в Microsoft работает над улучшениями производительности CPython — эталонной реализации интерпретатора.

UPD: а в блоге Microsoft эта новость изложена интереснее:
https://devblogs.microsoft.com/python/?p=8396
Python Software Foundation Blog Welcoming Microsoft as a Visionary Sponsor Microsoft helps millions of Python developers achieve more by enabling Python support across products and services like Windows, Visual Stud...
Post #91 143

Forwarded from Geeks (shekpar)

Себастьян Рамирез, известный под никнеймом "tiangolo", когда-то побывал в гостях у подкаста TalkPython и из этого выпуска я узнал о его проект FastAPI. Для тех, кто не знает - Себастьян разрабатывает фреимворк FastAPI и сейчас это очень быстро набирающий популярность инструмент для разработки HTTP сервисов на python. Фреймворк из коробки сразу предоставляет все плюшки использования тайпинга для валидации данных вкупе с моделями библиотеки pydantic, автогенерацией openapi спеки и много всего разного и приятного по мелочам. После фастапи мне пришлось даже зафрендзоноить aiohttp и навсегда бросить Flask, который в моей жизни так и оставался быстрой наколеночной хреновиной для прототипирования. В общем, я рад и всем кто не смотрел фреймворк - советую глянуть. Использую я его как для рабочих сервисов, так и для пэт-проджектов - ощущения самые положительные.

https://talkpython.fm/episodes/show/284/modern-and-fast-apis-with-fastapixx
talkpython.fm Modern and fast APIs with FastAPI As Python 3 has eclipsed the old constrains of Python 2 and web frameworks that adopted them, we have seen a big jump in new frameworks appearing on the scene taking full advantage of things like type hints, async and await, and more.
Post #89 168
WSL (Windows Subsystem for Linux) — это когда ты, будучи на Windows, запускаешь терминал и оказываешься в полноценном bash (или что там у вас, лично мне нравится fish), где есть все привычные консольные инструменты. А скоро эта штука сможет запускать и графические программы внутри Linux, отрисовывая окна в Windows. И ваш софт с GUI из Linux прям попадёт в «Пуск» и в целом будет мало чем отличаться от обычных, виндовых программ. Эта функциональность уже доступна в сборках Windows Insiders, а код лежит на GitHub:

https://github.com/microsoft/wslg

Пока не понял, зачем мне это надо, но это очень круто. На скриншоте в репозитории у них запущен PyCharm внутри WSL.
GitHub GitHub - microsoft/wslg: Enabling the Windows Subsystem for Linux to include support for Wayland and X server related scenarios Enabling the Windows Subsystem for Linux to include support for Wayland and X server related scenarios - microsoft/wslg
Post #88 173
Как вы уже знаете, мне нравятся всякие опросы аудитории, а особенно их результаты, поэтому я каждый раз пощу сюда результаты StackOverflow Survey, Python Ecosystem Survey и так далее. А еще мне нравится Telegram.

Тут сейчас как раз проводится опрос пользователей Telegram. А вдруг что интересное будет в результатах? Я уже прошёл (заняло 5 минут), и вас тоже приглашаю. Вроде чего-то конфиденциально-идентифицирующего даже особо не спрашивали.

https://tgstat.ru/research
TGStat.ru Исследование аудитории Telegram 2023. Кто же он — пользователь Telegram 2023 года?
Post #87 4.59K
У black — автоформаттера кода на Python с фиксированным, ненастраиваемым стилем — вышла новая версия. К сожалению, это опять лишь бета.

В списке изменений есть пункты про запятые в конце строки и докстринги, а также много разных баг-фиксов. Релиз скорее минорный, но обновиться все равно будет полезно. Напоминаю, потому что, например, у пользователей pipenv скорее всего запинена конкретная версия (из-за особенностей pipenv, он не очень хорошо умеет работать с пре-релизами), и они не получат этого обновления автоматически.

О релизе: https://github.com/psf/black/releases/tag/21.4b0

Кстати, я же когда-то писал пост про black: https://semakin.dev/2020/05/black/
GitHub Release 21.4b0 · psf/black Black Fixed a rare but annoying formatting instability created by the combination of optional trailing commas inserted by Black and optional parentheses looking at pre-existing "magic" ...
Post #86 165
Берегите своих детенышей!

via MonkeyUser

#meme
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →