Logo
TGCATALOG
Catalog Collections Blog
Zen of Python - Zen

Zen of Python - Zen

Complete guide to Python philosophy and practice in one channel.

No ratings
1,007
26.10.2026
1,007
26.10.2026
No ratings
1,007
26.10.2026
Safe redirect via bot
О канале

Complete guide to Python philosophy and practice in one channel.

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

Zen of Python - channel dedicated to Python philosophy and practices. Lessons, scripts, best practices and materials for mastering the language in Telegram.

Latest posts

Zen of Python - Zen
Zen of Python - Zen
🔒Открыть пост
и посмотреть медиа
Бинарный поиск ускорили в 8 раз, не меняя ни алгоритм, ни язык: 16,6 процента промахов предсказателя ветвлений превратились в ноль Итамар Тёрнер-Трауринг разобрал шаг из градиентного бустинга в scikit-learn: миллион чисел с плавающей точкой нужно разложить по 255 корзинам, для чего по массиву границ гоняется бинарный поиск. Код уже скомпилированный и уже параллелится по ядрам, алгоритм оптимальный. Статья опубликована 11 июля и обновлена 18-го, работа сделана в рамках Quansight. Остался запас, который не виден на уровне алгоритма. Современное ядро процессора выполняет несколько инструкций одновременно и угадывает, куда пойдёт ветвление. В бинарном поиске сравнение по определению непредсказуемо: каждая итерация с равной вероятностью идёт влево или вправо, и предсказатель ошибается примерно в половине случаев, а конвейер каждый раз сбрасывается. 🔘 исходная версия: 45 200,4 микросекунды, 16,6 процента неверных предсказаний, 0,7 инструкции за такт, около 27 инструкций ветвления на одно значение; 🔘 первая переделка убирает ветвление, заменяя его условным присваиванием через select_unpredictable: 9 685,2 мкс, промахов ноль, 3,2 инструкции за такт, ветвлений 19 на значение; 🔘 предвычисление половины диапазона и доступ без проверки границ дают 7 280,4 мкс и обрушивают число инструкций ветвления до 6 020 571 на весь прогон; 🔘 финальная версия обрабатывает значения кусками по 16 штук с внешним циклом по шагам поиска: 5 453,4 мкс и 4,9 инструкции за такт; 🔘 любопытно, что она выполняет больше инструкций, чем предыдущая, но идёт быстрее: независимые куски работы позволяют процессору выполнять их одновременно; 🔘 итог — примерно восьмикратное ускорение на том же алгоритме, том же языке и одном ядре. Автор оговаривает, что это упрощённый пример, а не полная реализация из scikit-learn, и что статья не заменяет учебник по устройству процессора. В обновлении он честно пишет, что раньше ошибся со сравнением чисел с плавающей точкой, и после исправления SIMD перестал давать выигрыш, хотя код от этого стал только быстрее. Дальнейший запас автор видит в параллелизме по ядрам. Польза для питониста прямая: когда расчёт уже переписан на расширение и всё равно кажется медленным, следующий уровень — не алгоритм, а поведение процессора на этом коде. Полная статья: Ссылка скрыта @zen_of_python
Zen of Python - Zen
FAQ

Open Zen of Python - Zen in Telegram and press the Start button. No separate registration is required.

Yes. The service is designed to be straightforward: open the resource, follow the on-screen instructions and start using it.

No. You can use Zen of Python - Zen directly in Telegram unless the resource description says otherwise.

Access depends on the resource. Check the current information in Telegram after opening Zen of Python - Zen.

The exact features depend on the resource. Open Zen of Python - Zen to see its current functions, content and access conditions.
Subscriber dynamics
+-0.4% last 30 days
Current
18,744
Month ago
18,817
Average growth
+-2 / day
Updated
20 hours ago

Reviews for channel Zen of Python - Zen

Log in to leave a review

Only registered users can share their opinion.

No reviews yet

Be the first to share your impression of this resource!

Similar resources

Loading
Switch to Light Theme
Home Catalog Collections Blog Login