TGViewer
Python Portal Python Portal @pythonportal · 50.2K subscribers
Post #5384 9.13K
В CPython ускорили reference counting

В CPython основа управления памятью это reference counting: у каждого объекта есть счётчик ссылок, и при каждом “взял/отпустил” он инкрементится/декрементится. В цикле, который крутится очень много раз, это превращается в ощутимый оверхед и лишние записи в память (да, даже чтение переменной = запись из-за refcount).

С Python 3.14 добавили новую байткод-инструкцию: LOAD_FAST_BORROW.

Что меняется:

- раньше LOAD_FAST грузил локалку и поднимал refcount
- теперь LOAD_FAST_BORROW грузит локалку без инкремента
- есть ещё “склеенные” опкоды типа LOAD_FAST_BORROW_LOAD_FAST_BORROW (две загрузки за один opcode)

Зачем это нужно:

- меньше дергаем refcount в hot-path
- меньше мусора в CPU cache
- быстрее на циклах, где ты постоянно читаешь одни и те же локальные переменные

Но оптимизация включается не всегда. CPython применяет её только когда может доказать безопасность через статический анализ времени жизни (по CFG):

- значение используется “локально” и быстро потребляется
- не утекает в heap/генераторы/кадры
- источник не перезаписывается так, чтобы сломать “borrow”

Это похоже на упрощённые Rust lifetimes/borrowing, только на уровне байткода.

👉 @PythonPortal
  • 👍 20
  • ❤ 9
More from @pythonportal
  1. Oct 8, 2026Тестируйте торговые стратегии на основе машинного обучения на исторических рыночных данных…
  2. Oct 8, 2026Смесь CS 1.6 и MW2, которая работает полностью локально в Google Chrome — https://cs.dphn.…
  3. Oct 7, 2026Робототехника — это, по сути, постоянное согласование систем координат. Лидар видит мир в…
  4. Oct 7, 2026Понимание алгоритмов меняет то, как вы пишете код. Этот плейлист учит именно пониманию. Па…
  5. Oct 6, 2026«Разбираемся в трансформерах и механизмах внимания» — краткое математическое введение в ме…
  6. Oct 6, 2026Начни изучать программирование GPU с одной полностью анимированной лекции на YouTube. Это…
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 →