Golang Дайджест
7.87K subscribers
36 photos
1 file
165 links
Самое интересное из мира Go: новости, статьи, проекты, сервисы, изменения в языке и др.

Посты публикуются не часто - только самое важное, с чем я лично ознакомился.

Поэтому можно не мьютить канал =)

Обратная связь: @justskiv
Download Telegram
Как ускорить свой код с помощью системы непрерывного профилирования Perforator

https://habr.com/ru/companies/yandex/articles/875070

Perforator — это система непрерывного профилирования, которую разработали в Яндексе и недавно выложили в опенсорс. Да, проект написан на C++, а не на Go, но тут интересен сам инструмент, а не его исходный код.

Что интересного рассказывают в статье:

– Как работает Perforator и как его использовать
– Как интерпретировать результаты профилирования
– Как оптимизировать код на основе данных профилирования

А чем интересен сам Perforator:

- Система умеет профилировать как компилируемые языки (C++, Go, Rust), так и интерпретируемые (Python 3.12+)

- Поддерживает FDO (Feedback-driven optimization) — можно автоматически использовать профили для оптимизации новых сборок. По бенчмаркам даёт до 10% прироста производительности

- Интересная фича — профилирование по срезам для A/B-тестов через thread-local теги

- Можно использовать как распределённо (в K8s), так и локально вместо perf record

Из ограничений:

- Нужен root (CAP_SYS_ADMIN)
- Только Linux 5.4+ на x86-64
- ARM пока в разработке
- На больших хостах может съедать несколько GB RAM

————

Зачем мне это, если у нас в Go есть pprof?

Очень полезно смотреть, какие ещё бывают решения, хотя бы в образовательных целях, и не зацикливаться на чём-то одном.

А здесь можно глянуть визуализацию работы сервиса

#profiling #performance #ebpf #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
👍166🔥5🤯1