В Python у вас есть обработчик, который должен обрабатывать миллионы строк из большого файла без перегрузки памяти. Какой подход наиболее правильный?
👾 — Читать весь файл в память через readlines() и обрабатывать список
👍 — Читать файл построчно с помощью итератора (for line in file:)
🥰 — Использовать multiprocessing для параллельного чтения всего файла целиком
⚡️ — Преобразовать файл в JSON и загрузить его через json.load()
Библиотека задач по Python
👾 — Читать весь файл в память через readlines() и обрабатывать список
👍 — Читать файл построчно с помощью итератора (for line in file:)
🥰 — Использовать multiprocessing для параллельного чтения всего файла целиком
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🥰4
This media is not supported in your browser
VIEW IN TELEGRAM
📅 Сегодня в 19:00 МСК — бесплатный вебинар с Марией Жаровой.
Тема: «Введение в ML: как спрогнозировать стоимость недвижимости».
🔹 Разберём задачу прогноза стоимости недвижимости.
🔹 Покажем пошагово, как собрать первую модель.
🔹 Получите готовые скрипты для старта.
Не зайдёшь — будешь ещё год делать вид, что понимаешь графики в чужих презентациях.
👉 Регистрируйтесь
Тема: «Введение в ML: как спрогнозировать стоимость недвижимости».
🔹 Разберём задачу прогноза стоимости недвижимости.
🔹 Покажем пошагово, как собрать первую модель.
🔹 Получите готовые скрипты для старта.
Не зайдёшь — будешь ещё год делать вид, что понимаешь графики в чужих презентациях.
👉 Регистрируйтесь
❤2👍1
Почему в многопоточном Python-приложении прироста скорости для CPU-bound задач почти не видно?
👾 — Потому что интерпретатор Python не умеет распараллеливать задачи
👍 — Потому что работает Global Interpreter Lock (GIL), который позволяет исполнять байткод только одному потоку
🥰 — Потому что потокам всегда не хватает памяти для стека
⚡️ — Потому что asyncio нужно использовать вместо потоков
Библиотека задач по Python
👾 — Потому что интерпретатор Python не умеет распараллеливать задачи
👍 — Потому что работает Global Interpreter Lock (GIL), который позволяет исполнять байткод только одному потоку
🥰 — Потому что потокам всегда не хватает памяти для стека
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
У вас есть Python-сервис, обрабатывающий большие объёмы данных. При профилировании видно, что программа тратит много времени на создание временных коллекций при работе с map, filter и list comprehensions. Какой подход поможет уменьшить расход памяти и повысить эффективность?
👾 — Переписать код на while-циклы с индексами
👍 — Использовать генераторы и выражения-генераторы вместо создания списков
🥰 — Заменить map и filter на вложенные for-циклы
⚡️ — Принудительно вызывать gc.collect() после каждой итерации
Библиотека задач по Python
👾 — Переписать код на while-циклы с индексами
👍 — Использовать генераторы и выражения-генераторы вместо создания списков
🥰 — Заменить map и filter на вложенные for-циклы
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23
У вас есть сервис на Python, который должен параллельно обрабатывать CPU-bound задачи (например, шифрование файлов). Какой из подходов обеспечит реальный прирост производительности?
👾 — Использовать threading.Thread для распараллеливания задач
👍 — Применить asyncio и await для конкурентного выполнения
🥰 — Использовать multiprocessing или ProcessPoolExecutor
⚡️ — Запускать задачи в concurrent.futures.ThreadPoolExecutor
Библиотека задач по Python
👾 — Использовать threading.Thread для распараллеливания задач
👍 — Применить asyncio и await для конкурентного выполнения
🥰 — Использовать multiprocessing или ProcessPoolExecutor
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰18
В продакшн-сервисе на Python при росте нагрузки CPU-bound задачи (например, обработка изображений) выполняются значительно медленнее, хотя вы используете ThreadPoolExecutor. Почему так происходит и что правильнее сделать?
👾 — В Python потоки работают медленно, лучше перейти на asyncio
👍 — Из-за GIL потоки не дают прироста для CPU-bound задач, лучше использовать ProcessPoolExecutor или multiprocessing
🥰 — Нужно увеличить количество потоков в пуле, чтобы загрузить CPU на 100%
⚡️ — Проблема в сборщике мусора, надо чаще вызывать gc.collect()
Библиотека задач по Python
👾 — В Python потоки работают медленно, лучше перейти на asyncio
👍 — Из-за GIL потоки не дают прироста для CPU-bound задач, лучше использовать ProcessPoolExecutor или multiprocessing
🥰 — Нужно увеличить количество потоков в пуле, чтобы загрузить CPU на 100%
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17
This media is not supported in your browser
VIEW IN TELEGRAM
7 октября стартует второй поток курса «AI-агенты для DS-специалистов».
За 5 недель вы научитесь собирать агентов, которые уже сейчас будут помогать бизнесу.
В кружке выше Максим Шаланкин, наш преподаватель, рассказывает подробнее — включай, чтобы не пропустить.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👾1
Вы пишете сервис на Python, который обрабатывает большой поток сетевых запросов. В профилировании видно, что приложение часто простаивает в ожидании I/O. Какой подход будет наиболее правильным для масштабирования?
👾 — Использовать threading.Thread для каждого соединения
👍 — Переписать код на asyncio или uvloop, чтобы обрабатывать соединения асинхронно
🥰 — Запускать gc.collect() после каждого запроса
⚡️ — Перейти на multiprocessing, создавая процесс на каждый запрос
Библиотека задач по Python
👾 — Использовать threading.Thread для каждого соединения
👍 — Переписать код на asyncio или uvloop, чтобы обрабатывать соединения асинхронно
🥰 — Запускать gc.collect() после каждого запроса
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
This media is not supported in your browser
VIEW IN TELEGRAM
❗ Так, владелец макбука. Хватит позировать в кофейне.
Настоящее портфолио — это не стикеры на крышке, а проект с чистым кодом, README и рабочей демкой.
Не знаешь, как такой собрать? Научим. Наш курс «ML для старта в Data Science» — это пошаговый гайд к проекту, за который не стыдно.
ОСТАЛАСЬ НЕДЕЛЯ, чтобы забрать его по старой цене в 44.000 ₽. С 1 сентября — всё.
🎁 И да, при покупке курса ML до 1 сентября — курс по Python получаешь бесплатно.
👉 Апгрейд от «вайба» до «оффера» тут
Настоящее портфолио — это не стикеры на крышке, а проект с чистым кодом, README и рабочей демкой.
Не знаешь, как такой собрать? Научим. Наш курс «ML для старта в Data Science» — это пошаговый гайд к проекту, за который не стыдно.
ОСТАЛАСЬ НЕДЕЛЯ, чтобы забрать его по старой цене в 44.000 ₽. С 1 сентября — всё.
🎁 И да, при покупке курса ML до 1 сентября — курс по Python получаешь бесплатно.
👉 Апгрейд от «вайба» до «оффера» тут
❤2
Что такое подгенератор (subgenerator)?
Подгенератор создается с помощью конструкции yield from внутри генератора.
Использование подгенераторов позволяет разбить генератор на несколько частей для упрощения кода и оптимизации памяти. Это полезный инструмент при работе с последовательностями.
Механизм передает значения между генераторами без сохранения всей последовательности в памяти и блокирует основной генератор до полного завершения подгенератора.
Библиотека задач по Python
Использование подгенераторов позволяет разбить генератор на несколько частей для упрощения кода и оптимизации памяти. Это полезный инструмент при работе с последовательностями.
Механизм передает значения между генераторами без сохранения всей последовательности в памяти и блокирует основной генератор до полного завершения подгенератора.
Библиотека задач по Python
👍3
У вас есть высоконагруженное Django-приложение. Пользователи жалуются на медленные отклики при работе с ORM-запросами. Какой из подходов будет наиболее правильным для оптимизации?
👾 — Использовать select_related и prefetch_related для оптимизации запросов и уменьшения количества обращений к базе
👍 — Заменить все ORM-запросы на чистый SQL, так как он всегда быстрее
🥰 — Увеличить таймаут подключения к базе данных
⚡️ — Отключить транзакции, чтобы ускорить коммиты
Библиотека задач по Python
👾 — Использовать select_related и prefetch_related для оптимизации запросов и уменьшения количества обращений к базе
👍 — Заменить все ORM-запросы на чистый SQL, так как он всегда быстрее
🥰 — Увеличить таймаут подключения к базе данных
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👾9
📢 Какой сетап идеально подойдёт для разработки AI-агента?
Голосуйте за свой вариант и пишите в комментариях, в каком режиме вы реально кодите.
❤️ — 1
👍 — 2
⚡️ — 3
👏 — 4
🔥 — 5
🎉 — 6
😁 — 7
😍 — 8
🤩 — 9
Какой бы сетап ни был, без AI-агентов в 2025 всё равно далеко не уедешь.
👉 Научим, как строить агентов, которые кодят с тобой
Голосуйте за свой вариант и пишите в комментариях, в каком режиме вы реально кодите.
❤️ — 1
👍 — 2
⚡️ — 3
👏 — 4
🔥 — 5
🎉 — 6
😁 — 7
😍 — 8
🤩 — 9
Какой бы сетап ни был, без AI-агентов в 2025 всё равно далеко не уедешь.
👉 Научим, как строить агентов, которые кодят с тобой
😁2