TGViewer
Библиотека питониста | Python, Django, Flask Библиотека питониста | Python, Django, Flask @pyproglib · 37.3K subscribers
Post #7423 3.69K
⏫ Python packaging стал в разы быстрее

Если коротко: библиотеку packaging, на которой держится pip и почти весь Python-экосистемный тулчейн, разогнали в 2–5 раз. Без переписывания на C, без магии — чистый Python, профилирование и много аккуратной инженерной работы.

Автор статьи вместе с мейнтейнерами pip разобрал самые горячие места: парсинг версий (PEP 440), SpecifierSet, маркеры, Requirement, canonicalize_name. Оказалось, что узкие места — не только regex, но и куча «мелочей»: лишние NamedTuple, повторное создание Version, singledispatch там, где нужен обычный if, генераторы вместо map, regex там, где хватит str.translate.

⏩ Самое интересное — инструменты. Работа делалась с новым статистическим профайлером Python 3.15, плюс бенчмарки гоняли по всем версиям пакетов, которые когда-либо загружались на PyPI. То есть это не синтетика, а реальный мир.

Результат:
– создание Version — до 2× быстрее
– SpecifierSet.contains — больше 2×
– SpecifierSet.filter — до 5×
– pip-резолвер создаёт в 10+ раз меньше объектов Version
–
установка пакетов и резолв зависимостей ощутимо ускоряются «бесплатно» для всех

📌 Если хочется понять как именно это сделали — статья обязательна к чтению.

📍 Навигация: Вакансии • Задачи • Собесы

🐸 Библиотека питониста

#буст
  • 👍 9
  • ❤ 4
  • ❤‍🔥 1
  • 🔥 1
  • 🤩 1
More from @pyproglib
  1. Oct 3, 2026📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих» Мы написали и собр…
  2. Oct 2, 2026🎹 Что делать после ChatGPT? Следующий шаг — AI-агенты. Они не просто отвечают на запросы,…
  3. Sep 30, 2026🔥 Последний день для разработчиков AI уже пишет код. Теперь важнее научиться встраивать е…
  4. Sep 25, 2026🔥 Курс «ИИ для разработчиков» уже стартовал И мы решили открыть первое занятие всем — мож…
  5. Sep 20, 2026👻 94% токенов уходят не на код Анализ запусков показал: основная часть токенов уходит на…
  6. Sep 19, 2026📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих» Мы написали и собр…
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 →