Mediumprofiling
Каковы основные инструменты профайлинга C++?
1Постановка
Разберём, что от вас хотят в этом вопросе и как к нему подступиться на собеседовании.
2Решение
Группы инструментов для профайлинга C++:
- Sampling profilers — периодические стек-сэмплы: perf (Linux, низкий overhead), VTune (cache/branch анализ), Xcode Instruments, Very Sleepy (Windows);
- Instrumenting profilers — инструментация при компиляции: gprof, Callgrind (valgrind);
- Memory profilers — Valgrind/massif, HeapTrack, AddressSanitizer, LeakSanitizer;
- Tracing — perfetto, Chrome tracing, LTTng;
- CPU counters —
perf stat, VTune: cache misses, branch misprediction, IPC.
# Сэмпл-профайлинг под Linux
perf record ./app
perf reportСовременный подход: ASan+UBSan для отладки, perf/VTune для production profiling, clang-tidy/PVS-Studio для статического анализа.
3Как отвечать
- Сначала уточните условия и ограничения, покажите аналитическое мышление.
- Рассуждайте вслух — интервьюеру важен ход мысли, а не только финальный ответ.
- Оцените сложность по времени и памяти (Big-O), если это алгоритмический вопрос.
💡
На реальном собеседовании Alffert подскажет развёрнутый ответ в реальном времени.