Logo
TGCATALOG
Каталог Подборки Блог
Zen of Python - дзен

Zen of Python - дзен

Полный гид по философии и практике Python в одном канале.

Нет оценок
1,007
26.10.2026
1,007
26.10.2026
Нет оценок
1,007
26.10.2026
Безопасный переход через бот
О канале

Полный гид по философии и практике Python в одном канале.

Подписчиков 18,744
Тематика IT
Язык Русский
Ссылка t.me/zen_of_python
Описание

Zen of Python - канал, посвящённый философии и практикам Python. Уроки, скрипты, лучшие практики и материалы для освоения языка в Telegram.

Последние посты

Zen of Python - дзен
Zen of Python - дзен
🔒Открыть пост
и посмотреть медиа
Разбор HTML-страницы за 272 микросекунды вместо 15,3 миллисекунды Бернат Габор собрал turbohtml, набор инструментов для HTML целиком на C: экранирование, разэкранирование, токенизация, запросы по селекторам, сериализация и операции с URL. Разбор страницы на 92 КБ занимает 272 мкс против 15,3 мс у BeautifulSoup, запрос по селектору 1,3 мкс против 20,8 мкс у lxml и 99,9 мкс у BeautifulSoup, токенизация 34,9 мкс против 435 мкс у html.parser и 836 мкс у html5lib. На плотном четырёхмегабайтном тексте escape отрабатывает за 4,98 мс против 12,7 мс у html.escape. Публикация от 18 июня обновлена 10 июля. Скорость складывается из того, как обрабатываются байты. Обычный код ищет спецсимволы посимвольно, и процессор на каждом байте выполняет ветвление. Здесь байты обрабатываются пачками: SWAR складывает восемь байт в одно машинное слово и проверяет их арифметикой, SIMD делает то же самое сразу по шестнадцать байт одной инструкцией. Ветвлений в горячем цикле почти не остаётся. 🔘 длина результата сначала считается точно, потом выделяется одним куском и заполняется массовым копированием, вместо дописывания по мере разбора; 🔘 токенизатор сохраняет исходную ширину строки и компилируется в три варианта под UCS-1, UCS-2 и UCS-4; 🔘 чистые текстовые куски возвращаются как срезы без копирования, копия делается только когда она правда нужна; 🔘 переписывание css_path() с квадратичного перебора на индекс сократило пример со 112 мс до 0,9 мс; 🔘 список переиспользуемых обёрток ускорил find_all() с 1,9 до 1,4 мкс, но в сборке без GIL он отключён. Автор оговаривает, что Callgrind считает инструкции, а не реальное время по часам, поэтому на него опираются только при сравнении вариантов. Корректность проверяется побайтовым сравнением с эталонными библиотеками, сборками с ASan и UBSan и фаззингом. Что у вас парсит HTML в проде и сколько времени на это уходит? @zen_of_python
Zen of Python - дзен
Динамика подписчиков
+-0.4% за 30 дней
Текущие
18,744
Месяц назад
18,817
Средний рост
+-2 / день
Обновлено
22 часа назад

Отзывы о канале Zen of Python - дзен

Авторизуйтесь, чтобы оставить отзыв

Только зарегистрированные пользователи могут делиться своим мнением.

Пока нет отзывов

Станьте первым, кто поделится своим впечатлением об этом ресурсе!

Похожие ресурсы

Loading
Переход на светлую тему
Главная Каталог Подборки Блог Вход