Sysadmin Tools 🇺🇦
3.89K subscribers
692 photos
28 videos
302 files
5.11K links
Sysadmin/DevOps tools, news and other interesting things from modern IT world.
Feed https://xn--r1a.website/s/sysadmin_tools
Download Telegram
#машины_разное

Гвидо ван Россум, отец Python и вернувшийся из пенсии в Microsoft инженер, поставил перед собой очень амбициозную цель, а именно - увеличить производительность своего детища аж в два раза.

Речь конечно же не про сам язык, а про его основной движок CPython.
Новость довольно большая, следить я за этим буду пристально.

Впрочем, мой интерес чисто технический, что именно собираются сделать для увеличения производительности? Поэтому я открыл PEP-554, автор которого отдельно отмечает, что не намерен решать проблему GIL (но мы-то с вами все понимаем).

Способов обойти GIL и так хватает: от использования multiprocessing до других движков, например PyPy.

PEP-554 интересен тем, что предлагает по-новому взглянуть на sub-интерпретаторы и (пере)изобрести конкурентное программирование. Причем пользоваться эти можно будет донельзя легко. Вот кусок кода, прямиком из PEP:

interp = interpreters.create()
print('before')
interp.run('print("during")')
print('after’)


Но не это самое “вкусное”. Если пройти дальше по предложению до раздела “About Subinterpreters”, то можно увидеть слово, которое очень знакомо разработчикам на Golang - каналы! По словам автора Предложения, каналы будут единственным объектом, доступным всем интерпретаторам, а обмен объектов будут проходить через них.

Подытожим: в версии 3.11 собираются ускорить CPython, и поможет нам в этом новый модуль interpreters, который имплементирует конкурентное программирование, схожее с Golang.

Вот что скучная пенсия с людьми делает!