GOLANG_DIGEST Telegram 199
Как ускорить свой код с помощью системы непрерывного профилирования 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



tgoop.com/golang_digest/199
Create:
Last Update:

Как ускорить свой код с помощью системы непрерывного профилирования 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

BY Golang Дайджест




Share with your friend now:
tgoop.com/golang_digest/199

View MORE
Open in Telegram


Telegram News

Date: |

Users are more open to new information on workdays rather than weekends. A new window will come up. Enter your channel name and bio. (See the character limits above.) Click “Create.” In 2018, Telegram’s audience reached 200 million people, with 500,000 new users joining the messenger every day. It was launched for iOS on 14 August 2013 and Android on 20 October 2013. How to Create a Private or Public Channel on Telegram? Private channels are only accessible to subscribers and don’t appear in public searches. To join a private channel, you need to receive a link from the owner (administrator). A private channel is an excellent solution for companies and teams. You can also use this type of channel to write down personal notes, reflections, etc. By the way, you can make your private channel public at any moment.
from us


Telegram Golang Дайджест
FROM American