Logo
TGCATALOG
Catálogo Selecciones Blog
Zen de Python - Zen

Zen de Python - Zen

Guía completa de filosofía y práctica de Python en un canal.

Sin valoraciones
1,007
26.10.2026
1,007
26.10.2026
Sin valoraciones
1,007
26.10.2026
Redirección segura vía bot
О канале

Guía completa de filosofía y práctica de Python en un canal.

Подписчиков 18,744
Тематика IT
Язык Español
Ссылка t.me/zen_of_python
Descripción

Zen of Python - canal dedicado a la filosofía y prácticas de Python. Lecciones, guiones, mejores prácticas y materiales para dominar el idioma en Telegram.

Últimas publicaciones

Zen de Python - Zen
Zen de Python - Zen
🔒Открыть пост
и посмотреть медиа
Как в CPython 3.15 убрали проверку из горячего цикла интерпретатора JIT в CPython нужен поток исполняемых инструкций, значит интерпретатор должен уметь записывать всё, что выполняет. Ключевой вопрос в том, сколько за эту возможность платят программы, которым запись не нужна. Кен Джин описал 1 июля путь к решению, попавшему в 3.15. Первый вариант: два отдельных интерпретатора, обычный и записывающий. Для интерпретатора на хвостовых вызовах это работало приемлемо, а на варианте с computed goto дало около 6% замедления на pyperformance. Одна из причин в том, что код интерпретатора на C фактически удвоился и перестал помещаться в кэш процессора. Второй вариант, флаг режима записи, убирает раздувание кода, но возвращает проверку ветвления в самый горячий путь, на каждую выполняемую инструкцию. Рабочее решение обходится без проверок вообще. Интерпретатор прыгает к обработчику инструкции через таблицу переходов, и таблиц делают две: адрес нужной лежит в локальной переменной. 🔘 наивная реализация с двумя полноценными таблицами упирается в ту же проблему, это снова два интерпретатора; 🔘 трюк в том, что все записи второй таблицы указывают на одну-единственную инструкцию записи; 🔘 она пишет trace и передаёт управление обычной таблице, получается сужение потока и обратное расширение; 🔘 включение и выключение режима сводится к подмене указателя на таблицу, ENTER_TRACING() и LEAVE_TRACING(); 🔘 в игрушечном замере медиана по 40 запускам составила 1,72 микросекунды без записи и 7,47 микросекунды с записью и JIT. Автор оценивает накладные расходы максимум в 4,5x и сразу оговаривает, что сравнивать это с накладными расходами 900–1000x у PyPy некорректно. Чем профилируете горячий Python-код сейчас и во сколько раз он от этого замедляется? @zen_of_python
Zen de Python - Zen
Evolución de suscriptores
+-0.4% últimos 30 días
Actuales
18,744
Hace un mes
18,817
Crecimiento medio
+-2 / día
Actualizado
hace 22 horas

Reseñas de canal Zen de Python - Zen

Inicia sesión para dejar una reseña

Solo los usuarios registrados pueden compartir su opinión.

Aún no hay reseñas

¡Sé el primero en compartir tu experiencia con este recurso!

Recursos similares

Loading
Cambiar a tema claro
Inicio Catálogo Selecciones Blog Entrar