TGViewer
Channel Public Channel
CPython notes

CPython notes

@cpython_notes

Author: Kirill Podoprigora aka @backinblacknext
Subscribers
2.38K
Photos
11
Videos
0
Links
95

Showing posts older than #54 · Back to latest

Older Posts 19 shown
Post #52 3.92K
PhD thesis о конструировании высокопроизводительных виртуальных машин для динамических языков.
Я с некоторой долей вероятности уверен что текущие оптимизации в CPython в какой-то мере основаны на этой работе. Ее автор кстати участник faster-cpython команды :)

https://theses.gla.ac.uk/2975/1/2011shannonphd.pdf

За ссылку спасибо @mikhail_efimov!
  • ❤ 18
  • 👍 2
  • 🤯 2
  • 😱 2
Post #51 3.95K
https://discuss.python.org/t/an-analysis-of-return-in-finally-in-the-wild/70633
Дискуссия о использования return в finally блоке. Вероятно, PEP 601 который предлагает запретить return/break/continue в finally блоке будет вновь рассмотрен.
Discussions on Python.org An analysis of return-in-finally in the wild During the discussion on PEP 760 (no more bare excepts) we got to the issue of return/break/continue in finally blocks, in particular the fact that they swallow an in-flight exception. This is flagged by linters, but so far the decision has not been taken…
  • 👍 16
  • 🗿 5
  • 🤯 2
  • 😁 1
Post #49 11.8K
Был смержен тред-локал байткод - https://github.com/python/cpython/pull/123926

Зачем это нужно и как это связано с nogil aka free-threaded?

Напомню, что в версии 3.11 был добавлен так называемый <адаптивный> интерпретатор, который умеет в специализацию.
Типичная операция x + y в обычном случае превращается в BINARY_OP опкод, который делает x.__add__(y), что несомненно не очень-то и дешево, так как надо производить лукап __add__ и прочие связанные с этим операции.
Адаптивный интерпретатор "подстраивается" под ситуации когда у вас достаточно много случаев в коде когда в операции x + y оба операнда являются интами, и тогда можно сэкономить на лукапе и дергать специализированную сишную функцию для сложения интов, которая не производит никакого лукапа атрибутов, и именно на этом мы выигрываем по производительности.

Так вот, в случае с nogil сборкой адаптивный интерпретатор не является потокобезопасным, что делало nogil сборку действительно медленнее(потому что специализация была выключена в nogil сборке). Pull request отмеченный выше делает адаптивный интерпретатор потокобезопасным и вместе с этим у codeobject появляется атрибут co_tlbc :)
  • 🔥 22
  • 👍 5
  • ❤ 2
Post #47 3.49K
Питон самый популярный язык на гитхабе
  • 👍 15
  • 🔥 7
  • 😁 4
  • 🥱 1
Post #42 2.29K
Post #40 2.15K
Post #38 2.35K
CPython notes Идея нового алгоритма сборщика мусора (скорее всего, будет реализована): https://github.com/faster-cpython/ideas/issues/613 В итоге +3-4% по перфомансу
https://discuss.python.org/t/incremental-gc-and-pushing-back-the-3-13-0-release/65285

В итоге этот новый сборщик мусора ревертят, из-за ухудшения по производительности в определенных сценариях... sphinx build стал тратить в 3 раза больше времени с этим сборщиком мусора
Discussions on Python.org Incremental GC and pushing back the 3.13.0 release I’m a little [1] concerned with the impact of the incremental GC change in 3.13, which recently showed up (Incremental GC means that Sphinx is significantly slower in 3.13 than in 3.12 · Issue #124567 · python/cpython · GitHub). It’s not clear that the incremental…
  • 😢 8
  • 🤣 5
  • 👍 2
  • 🫡 2
  • 🤯 1
Post #35 2.89K
https://discuss.python.org/t/calling-for-a-vote-of-no-confidence/61557/1

TL;DR: один из core developer'ов призывает к роспуску состава текущего руководящего совета. Все это связано с временной отставкой Tim Peters (пост выше)
Discussions on Python.org Calling for a Vote of No Confidence According to the guidance in PEP 13, I am calling for a vote of no confidence for the entire council. This motion is based on their recent action of suspending a core developer in which they withheld critical information: The core developer’s name. Without…
  • 👍 6
  • 🙈 3
  • 🔥 2
Post #34 2.57K
https://discuss.python.org/t/three-month-suspension-for-a-core-developer/60250/4

Как вы уже могли слышать, роль основного разработчика была приостановлена для Тим Питерса(автор тимсорта в питоне) на 3 месяца. И вот вчера появляется этот комментарий от мейтнейнера енамов. Интересно, что будет дальше
  • 😢 5
  • 🤮 1
  • 💯 1
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 →