Top.Mail.Ru
Разработка
GoRunConf | Go
Познаем оптимизации: как писать идеальные Go-программы
2 октября
16.55-17.35
Green 5

Описание проекта:

Рассматривается production-пайплайн на Go для распознавания документов (PDF/JPG/PNG → подготовка изображений → OCR → выделение таблиц → постобработка). Проект уже используется в продакшене и стал площадкой для реальных оптимизаций.

Почему это интересно:

Обработка документов — отличный «hot path»: тысячи мелких операций (декодирование, OpenCV, вызовы Tesseract, аллокации) и высокая чувствительность к поведению планировщика Go. Здесь важно уметь управлять параллелизмом, разграничивать CPU-bound и I/O-bound задачи и понимать, как runtime влияет на производительность.

Что будет в докладе:

* Архитектура пайплайна: синхронный поток с параллельностью на отдельных этапах.

* Проблемные места: границы распараллеливания, троттлинг Tesseract, смешение CPU и I/O нагрузки.

* Планировщик Go (M/P/G): влияние системных вызовов, preemption, работа с blocking-операциями.

* Набор практических оптимизаций: low value и medium-high value оптимизации

* Demo: профилирование до/после (pprof, schedtrace, latency-метрики).

* Рекомендации: «quick wins», более рискованные оптимизации и краткий обзор остальных основных способов ускорить Go-код.

Для кого:

* инженеры, пишущие высоконагруженные пайплайны обработки данных;

* интеграторы OCR/vision-функций;

* разработчики, которые хотят понять, как знание Go-планировщика помогает превращать «просто работающую» систему в эффективную — без перехода на низкоуровневый C.

Может заинтересовать
#похожие доклады