Профилирование производительности с помощью ИИ

Продвинутое программирование с ИИ-ассистентами

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Что мы рассмотрим

Лупа, анализирующая структуры данных

 

  • Профилировать код
  • Выявлять узкие места производительности
  • Оценивать выбор структур данных
Продвинутое программирование с ИИ-ассистентами

Профилирование с cProfile

 

profile-inspection-ch1.png

 

Что измеряет cProfile:

  • Процессорное время на функцию
  • Вызываемые функции
  • Количество вызовов
  • Время на вызов
Продвинутое программирование с ИИ-ассистентами

ИИ интерпретирует профиль

profile-analysis-ch1.png

Продвинутое программирование с ИИ-ассистентами

Анализ узкого места

location-transfer-index.png

Продвинутое программирование с ИИ-ассистентами

Анализ узкого места

data-structures.png

Продвинутое программирование с ИИ-ассистентами

Оценка эффективности

data-structures-efficiency.png

 

Оценка ИИ:

  • ✅ Приемлемо для малых объёмов данных
  • ❌ Отсутствие оптимизаций для масштабной обработки
Продвинутое программирование с ИИ-ассистентами

Детальный анализ: HashMapLinear

 

hashmaplinear-class.png

Проблемы HashMapLinear

 

Масштабируемость HashMapLinear:

  • ✅ Подходит для небольших карт фиксированного размера
  • 📉 Линейная деградация производительности
  • ❌ Проблемы при непредсказуемом росте данных
Продвинутое программирование с ИИ-ассистентами

Проблемы параллелизма

Состояние гонки потоков

Проблемы потокобезопасности:

  • Параллельные чтение/запись могут создавать гонку
  • Риск повреждения данных
Продвинутое программирование с ИИ-ассистентами

Реализация, предложенная ИИ

hashmaplinear-reimplementation-with-prompt.png

 

  • 🔎 Всегда проверяйте предложения ИИ
  • 🔎 Тестируйте перед применением
Продвинутое программирование с ИИ-ассистентами

Проверка бенчмарком

 

Запуск бенчмарка:

benchmarking-run.png

Результаты:

  • Исходная (HashMapOld): базовый показатель
  • Оптимизированная (HashMapNew): быстрее в 2+ раза
  • ✅ Патч ИИ подтверждён
Продвинутое программирование с ИИ-ассистентами

Цикл оптимизации с помощью ИИ

 

lesson1-2-review.png

Продвинутое программирование с ИИ-ассистентами

Главный вывод

 

optimization_cycle_2.png

 

Итерационный цикл:

  • Профилировать код
  • Выявлять ключевые операции
  • Переписывать там, где это важно
  • Проверять результаты

🤖 ИИ помогает работать быстрее, принимая обоснованные решения

Продвинутое программирование с ИИ-ассистентами

Давайте попрактикуемся!

Продвинутое программирование с ИИ-ассистентами

Preparing Video For Download...