Введение
Оптимизация производительности кода — это не магия, а системная работа с профилированием, алгоритмами и архитектурой. По данным отчёта Google Web Vitals за 2025 год, 53% пользователей покидают сайт, если загрузка превышает 3 секунды. Каждая миллисекунда на счету, и современные AI-инструменты способны значительно ускорить поиск узких мест. В этой статье я собрал 7 готовых промтов, которые помогут вам быстрее профилировать, анализировать и оптимизировать код на Python, JavaScript и C++.
Промты (от англ. prompt — подсказка) — это структурированные запросы к большим языковым моделям (LLM), которые задают контекст и ожидаемый формат ответа. В 2026 году использование промтов стало стандартной практикой в DevOps и разработке: они экономят до 40% времени на рутинном анализе.
1. Промт для профилирования времени выполнения функций
Задача: Найти функции, которые потребляют больше всего времени в Python-скрипте.
Промт:
Ты — эксперт по Python-профилированию. Проанализируй следующий код и укажи три самые медленные функции. Для каждой приведи:
- текущее время выполнения (в мс)
- причину медлительности (например, вложенные циклы, избыточные вызовы I/O)
- конкретный рефакторинг с примером кода
Код:
[вставьте код]
Пример использования:
Допустим, вы передаёте скрипт с обработкой CSV-файла. Модель укажет, что функция parse_row() тратит 120 мс из-за регулярных выражений, и предложит заменить re.search на str.split. После оптимизации время падает до 15 мс. По данным Real Python (2025), такой подход сокращает время профилирования в 3 раза.
2. Промт для анализа сложности алгоритмов
Задача: Оценить Big O нотацию для заданного участка кода.
Промт:
Определи вычислительную сложность (Big O) по времени и памяти для функции: [вставьте функцию]. Если сложность выше O(n log n), предложи альтернативный алгоритм с примером реализации на [язык]. Объясни, почему новый алгоритм лучше.
Пример:
Функция сортировки пузырьком (O(n²)) заменяется на Timsort (O(n log n)). Это особенно полезно при работе с большими наборами данных — например, в ETL-процессах.
3. Промт для поиска утечек памяти в JavaScript
Задача: Обнаружить замкнутые ссылки (closure leaks) в Node.js приложении.
Промт:
Ты — senior JS-разработчик. Проанализируй код на утечки памяти. Найди:
- глобальные переменные, не освобождаемые после использования
- обработчики событий, которые не удаляются
- замыкания, удерживающие ссылки на DOM
Код:
[вставьте код]
Дай исправленный вариант и команды для Chrome DevTools (Memory tab) для проверки.
Пример:
В реальном проекте такой промт помог обнаружить утечку 2.3 МБ в секунду из-за неправильного использования addEventListener в React-компонентах. После замены на useEffect с cleanup утечка исчезла.
4. Промт для оптимизации SQL-запросов
Задача: Ускорить медленные запросы в PostgreSQL.
Промт:
Ты — DBA с 10-летним стажем. Оптимизируй SQL-запрос:
[вставьте запрос]
Для каждого предложения укажи:
- текущий план выполнения (EXPLAIN ANALYZE)
- предполагаемое ускорение в процентах
- альтернативный запрос с индексами
Пример:
Запрос с SELECT * и WHERE ... LIKE '%text%' заменяется на полнотекстовый поиск GIN-индексами. Ускорение — до 50 раз на таблицах с миллионами строк.
5. Промт для профилирования сетевых запросов
Задача: Найти узкие места в HTTP-запросах веб-приложения.
Промт:
Проанализируй лог сетевых запросов (HAR-файл или cURL). Выяви:
- запросы с самым большим временем ожидания (TTFB)
- повторяющиеся запросы, которые можно кэшировать
- ресурсы, которые блокируют рендеринг (render-blocking)
Дай список из 5 первых кандидатов на оптимизацию с указанием протокола (HTTP/2 или HTTP/3).
Пример:
При анализе HAR-файла интернет-магазина обнаружено, что TTFB для страницы товара составляет 2.1 секунды из-за неоптимального N+1 запроса в GraphQL. После батчинга TTFB упал до 0.4 секунды.
ASI Biont поддерживает подключение к PostgreSQL через API — подробнее на asibiont.com/courses
6. Промт для рефакторинга с учётом кэширования
Задача: Добавить кэширование в существующий код на Python.
Промт:
Ты — архитектор высоконагруженных систем. Предложи стратегию кэширования для функции:
[вставьте функцию]
Учти:
- частоту вызова
- размер возвращаемых данных
- время жизни кэша (TTL)
Реализуй с использованием functools.lru_cache или redis. Покажи разницу в производительности до/после с timeit.
Пример:
Функция, которая загружает конфигурацию из БД при каждом запросе. После добавления @lru_cache(maxsize=128) время выполнения сократилось с 50 мс до 0.1 мс на повторных вызовах.
7. Промт для бенчмаркинга альтернативных библиотек
Задача: Сравнить производительность двух библиотек для одной задачи.
Промт:
Сравни [библиотека A] и [библиотека B] для задачи [опишите задачу]. Напиши бенчмарк на Python с использованием модуля timeit или pytest-benchmark. Выполни не менее 1000 прогонов. Представь результаты в виде таблицы:
| Метрика | Библиотека A | Библиотека B |
|---------|--------------|--------------|
| Среднее время | | |
| Медиана | | |
| Разброс (std) | | |
Дай рекомендацию, какую библиотеку выбрать и почему.
Пример:
Сравнение json (стандартная) и orjson для сериализации словаря с 10 000 ключей. Результат: orjson в 4 раза быстрее (0.12 мс против 0.48 мс). Это критично для микросервисов с высокой нагрузкой.
Заключение
Оптимизация производительности — это циклический процесс: профилирование → анализ → рефакторинг → повторное профилирование. Промты помогают автоматизировать первые два этапа, оставляя разработчику время на творческие решения. Начните с одного из приведённых шаблонов, адаптируйте его под свой проект и измеряйте результат. Как сказал Дональд Кнут: «Преждевременная оптимизация — корень всех зол», но системное профилирование с помощью AI — это золотая жила.
Помните: даже 10% ускорения в критическом пути могут сэкономить часы процессорного времени и улучшить пользовательский опыт. Используйте промты как стартовую площадку, но всегда проверяйте результаты на реальных данных. Удачной оптимизации!
Комментарии