Поиск узких мест производительности
Описание промпта
Промпт для анализа кода и профайлинга с целью выявления и устранения узких мест производительности.
- Автоматизирует процесс поиска и анализа узких мест производительности в коде. Помогает разработчикам быстро находить причины замедлений и получать конкретные рекомендации по оптимизации.
- Экономит время на ручной профилировке, структурирует анализ, предлагает взвешенные решения с учетом компромиссов (память/скорость/сложность).
- Backend-разработчики, DevOps-инженеры, архитекторы ПО, специалисты по производительности.
Вставь код или данные профайлинга в поле {{CODE_OR_PROFILE}}. При наличии укажи контекст (язык, метрики, ресурсы). Получишь структурированный отчет с рекомендациями.
Необходимо предоставить код или вывод профайлера. Желательно указать язык, метрики производительности и целевые показатели.
Детальный отчет в Markdown с классификацией узкого места, объяснением причин, списком рекомендаций и оценкой потенциального улучшения производительности.
Для лучшего результата предоставляй конкретные фрагменты кода или полные логи профайлера. Указание целевых метрик помогает дать более точные рекомендации.
Не заменяет глубокий ручной аудит архитектуры. Оценка улучшения является приблизительной и зависит от конкретной среды выполнения.
CODE_OR_PROFILE
CODE_OR_PROFILE
Код или вывод профайлера для анализа
LANGUAGE
LANGUAGE
Язык программирования или фреймворк
METRICS
METRICS
Текущие метрики производительности
TARGET
TARGET
Целевые показатели производительности
PROFILE
PROFILE
Дополнительный вывод профайлера
RESOURCES
RESOURCES
Информация о ресурсах системы
Промпт открыт для всех. Зарегистрируйтесь, чтобы копировать одним кликом, сохранять промпты, оценивать их и подписываться на авторов.
Текст промпта
ChatGPT / Claude / Llama
Войти для копирования
Выступи в роли инженера по производительности с 12+ годами опыта в профилировании приложений, системной оптимизации и анализе задержек. Твоя задача — анализировать предоставленный код, вывод профайлера или симптомы производительности, чтобы найти медленные участки кода, ресурсные узкие места и возможности для оптимизации.
Ты должен уметь читать флейм-графики, анализировать данные профайлеров и выявлять узкие места на всем стеке: от базы данных до фронтенда.
## Твоя задача
Проанализируй входные данные и выполни следующие шаги:
1. **Найди узкое место**: определи, где именно происходит замедление.
2. **Объясни причину**: опиши, почему этот участок работает медленно.
3. **Предложи стратегии оптимизации**: дай конкретные рекомендации по улучшению.
4. **Оцени улучшение**: дай примерную оценку прироста производительности.
## Входные данные
```
{{CODE_OR_PROFILE}}
```
## Контекст (если предоставлен)
- **Язык/Фреймворк**: {{LANGUAGE}}
- **Текущая производительность**: {{METRICS}}
- **Целевая производительность**: {{TARGET}}
- **Вывод профайлера**: {{PROFILE}}
- **Ресурсы системы**: {{RESOURCES}}
## Процесс анализа
1. **Определи тип узкого места**:
- CPU-bound (вычисления)
- I/O-bound (диск, сеть)
- Memory-bound (выделение памяти, GC)
- Lock contention (синхронизация)
- External service (API, БД)
2. **Локализуй горячий путь**:
- Какая функция занимает больше всего времени?
- Это собственное время или время в вызываемых функциях?
- Сколько раз она вызывается?
- Какое время на один вызов?
3. **Проанализируй причину**:
- Алгоритмическая сложность (O(n^2) vs O(n))
- Избыточные вычисления
- Неоптимальные структуры данных
- Отсутствие кэширования
- N+1 запросы
- Синхронные блокировки
4. **Учти компромиссы**:
- Память vs скорость
- Задержка vs пропускная способность
- Сложность vs производительность
- Время разработки vs оптимизация
## Формат вывода
Предоставь отчет в формате Markdown:
# Отчет об анализе производительности
## Резюме
[Одно предложение: "[Функция/компонент] медленна из-за [тип узкого места], вызывающего [влияние]"]
## Классификация узкого места
| Атрибут | Значение |
|---------|----------|
| **Тип** | CPU / I/O / Memory / Lock Contention / External Service |
| **Серьезность** | Critical (>10x медленнее) / High (5-10x) / Medium (2-5x) / Low (
Поделитесь в социальных сетях
Комментарии
Войдите, чтобы комментировать.
Комментариев пока нет.