У вас есть высоконагруженное Django-приложение. Пользователи жалуются на медленные отклики при работе с ORM-запросами. Какой из подходов будет наиболее правильным для оптимизации?
👾 — Использовать select_related и prefetch_related для оптимизации запросов и уменьшения количества обращений к базе
👍 — Заменить все ORM-запросы на чистый SQL, так как он всегда быстрее
🥰 — Увеличить таймаут подключения к базе данных
⚡️ — Отключить транзакции, чтобы ускорить коммиты
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по Python
👾 — Использовать select_related и prefetch_related для оптимизации запросов и уменьшения количества обращений к базе
👍 — Заменить все ORM-запросы на чистый SQL, так как он всегда быстрее
🥰 — Увеличить таймаут подключения к базе данных
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👾15👍3❤1
Что выведет код?
👾 — [7, 19, 45, 89]
👍 — [2, 4, 22, 72]
🥰 — [4, 7, 19, 2, 89, 45, 72, 22]
⚡️ — [2, 4, 7, 19, 22, 45, 72, 89]
Библиотека задач по Python
👾 — [7, 19, 45, 89]
👍 — [2, 4, 22, 72]
🥰 — [4, 7, 19, 2, 89, 45, 72, 22]
⚡️ — [2, 4, 7, 19, 22, 45, 72, 89]
Библиотека задач по Python
👾47
Ваш Python-сервис должен обрабатывать большое количество одновременных HTTP-запросов. Вы замечаете, что при использовании потоков прироста производительности почти нет. Какой подход наиболее правильный?
👾 — Увеличить количество потоков в ThreadPoolExecutor, чтобы нагрузить CPU
👍 — Перейти на asyncio или uvloop, чтобы эффективно обрабатывать I/O-bound задачи без блокировок
🥰 — Использовать multiprocessing, создавая процесс на каждый запрос
⚡️ — Запускать gc.collect() вручную чаще, чтобы ускорить выполнение потоков
Библиотека задач по Python
👾 — Увеличить количество потоков в ThreadPoolExecutor, чтобы нагрузить CPU
👍 — Перейти на asyncio или uvloop, чтобы эффективно обрабатывать I/O-bound задачи без блокировок
🥰 — Использовать multiprocessing, создавая процесс на каждый запрос
⚡️ — Запускать gc.collect() вручную чаще, чтобы ускорить выполнение потоков
Библиотека задач по Python
👍11
В Python-сервисе нужно обрабатывать очень большие объёмы данных построчно из файлов размером в десятки гигабайт. Какой подход наиболее правильный, чтобы избежать проблем с памятью?
Варианты ответа:
👾 — Использовать readlines() для чтения всего файла в список
👍 — Читать файл построчно через итератор (for line in file:)
🥰 — Сначала загрузить файл в pandas.DataFrame, а затем обрабатывать
⚡️ — Использовать json.load() для загрузки файла в память
Библиотека задач по Python
Варианты ответа:
👾 — Использовать readlines() для чтения всего файла в список
👍 — Читать файл построчно через итератор (for line in file:)
🥰 — Сначала загрузить файл в pandas.DataFrame, а затем обрабатывать
⚡️ — Использовать json.load() для загрузки файла в память
Библиотека задач по Python
🥰11👍10
Прокачай свой Python на 100%
Задачи помогают запомнить синтаксис. Фундаментальные курсы помогают понять, почему решение должно быть именно таким. Совмести приятное с полезным.
Оффер 1 + 2:
Платишь за один курс (старший по цене), забираешь три.
Рекомендуем:
— Алгоритмы и структуры данных;
— Математика для Data Science (если смотришь в сторону AI);
— Архитектуры и шаблоны проектирования.
Забрать бандл
До 31 декабря.
Менеджер: @manager_proglib
Задачи помогают запомнить синтаксис. Фундаментальные курсы помогают понять, почему решение должно быть именно таким. Совмести приятное с полезным.
Оффер 1 + 2:
Платишь за один курс (старший по цене), забираешь три.
Рекомендуем:
— Алгоритмы и структуры данных;
— Математика для Data Science (если смотришь в сторону AI);
— Архитектуры и шаблоны проектирования.
Забрать бандл
До 31 декабря.
Менеджер: @manager_proglib
У вас есть 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
👍16
Что будет у functools.lru_cache, если аргумент не хешируемый (например, list)?
👾 — Автоматически скопирует и захеширует любой аргумент
👍 — Построит ключ из args/kwargs; при нехешируемом аргументе бросит TypeError на вызове
🥰 — Нехешируемые аргументы игнорируются при ключе
⚡️ — Учитывает только позиционные аргументы, kwargs игнорируются
Библиотека задач по Python
👾 — Автоматически скопирует и захеширует любой аргумент
👍 — Построит ключ из args/kwargs; при нехешируемом аргументе бросит TypeError на вызове
🥰 — Нехешируемые аргументы игнорируются при ключе
⚡️ — Учитывает только позиционные аргументы, kwargs игнорируются
Библиотека задач по Python
👍6