Домен
Performance Engineering
Профиль навыка
Профилирование памяти: heap dumps, memory leaks, GC analysis, Valgrind
Ролей
15
где встречается этот навык
Грейдов
5
сформированная дорожка роста
Обязательных требований
31
ещё 44 — необязательные
Performance Engineering
Профилирование
17.03.2026
Выберите текущий грейд и сравните ожидания. Карточки ниже покажут, что нужно закрыть для следующего уровня.
Таблица показывает, как меняется глубина владения навыком от Junior до Principal.
| Роль | Обязательность | Описание |
|---|---|---|
| AR/VR Developer | Обязателен | Использует Memory Profiler в Unity / Unreal для отслеживания использования памяти. Находит очевидные утечки памяти. Понимает разницу между heap и stack memory. |
| Backend Developer (Go) | Использует Go memory profiling: pprof heap profiles, runtime.ReadMemStats. Понимает stack vs heap. | |
| Backend Developer (Java/Kotlin) | Использует JVM memory profiling: VisualVM heap dump, jmap. Понимает GC logs и memory regions. | |
| Backend Developer (Python) | Использует memory profiling: memory_profiler, tracemalloc. Понимает Python object model и reference counting. | |
| Backend Developer (Rust) | Использует memory profiling для Rust: valgrind/DHAT для allocation tracking, cargo-flamegraph для визуализации. Понимает stack vs heap allocation. | |
| Compiler Engineer | Знает базовые концепции memory profiling perf для compiler engineer и умеет применять их в типовых задачах. Использует стандартные инструменты и следует установленным практикам команды. Понимает когда и почему применяется данный подход. | |
| Desktop Developer (.NET WPF/WinUI/MAUI) | Понимает GC generations и LOH в .NET. Использует VS Diagnostic Tools для memory analysis. Анализирует managed heap через dotnet-dump. | |
| Desktop Developer (Qt/C++) | Понимает различие между heap и stack в контексте Qt/C++. Использует ASAN для обнаружения memory corruption. Анализирует peak memory usage через Task Manager/Activity Monitor. | |
| Embedded Developer | Использует базовый анализ памяти: map-файл, heap/stack usage через FreeRTOS API. Определяет крупные потребители памяти. | |
| Language Tooling Engineer | Понимает базовые концепции профилирования памяти: различие между heap- и stack-аллокациями, утечки памяти. Использует Valgrind memcheck или AddressSanitizer под руководством для обнаружения типичных проблем в компонентах компилятора или языковой среды выполнения. Следует командным инструкциям по запуску инструментов профилирования на тестовых наборах и интерпретирует простые отчёты с помощью старших инженеров. | |
| Performance Testing Engineer | Профилирует memory: использует free, vmstat, JVM heap dumps. Понимает heap vs stack, GC impact. Детектирует memory leaks через trending analysis. | |
| Systems Programmer (C/C++) | Понимает основы профилирования памяти для системного кода, включая фрагментацию кучи, переполнения буферов и обнаружение use-after-free. Запускает Valgrind, AddressSanitizer и базовое профилирование памяти через perf под руководством. Читает отчёты профилирования для выявления простых проблем с памятью в кодовых базах на C/C++ или Rust, следуя документации команды. | |
| Unity Developer | Понимает базовые концепции профилирования памяти в Unity: различие между managed- и native-памятью, влияние сборки мусора. Использует Unity Memory Profiler и окно Profiler для снятия снимков памяти под руководством. Выявляет очевидные утечки памяти — неосвобождённые ассеты или растущие пулы объектов — следуя чек-листам и документации команды. | |
| Unreal Engine Developer | Понимает базовые концепции профилирования памяти в Unreal Engine: жизненный цикл UObject, сборка мусора и пулы памяти. Использует Unreal Insights и команды stat memory для сбора базовых данных о памяти под руководством. Выявляет простые проблемы с памятью — неосвобождённые ассеты, остающиеся в памяти — следуя командным инструкциям по профилированию. | |
| XR Unity Developer | Обязателен | Использует Unity Memory Profiler для отслеживания memory usage. Находит очевидные утечки. Понимает heap/stack. |
| Роль | Обязательность | Описание |
|---|---|---|
| AR/VR Developer | Обязателен | Проводит детальное профилирование памяти XR-приложений. Анализирует memory snapshots для нахождения утечек. Оптимизирует texture и mesh memory для мобильного VR. |
| Backend Developer (Go) | Профилирует memory: pprof analysis, escape analysis, allocation tracking. Оптимизирует GC pressure. | |
| Backend Developer (Java/Kotlin) | Профилирует JVM memory: JFR memory events, Eclipse MAT для heap analysis. Оптимизирует object allocation. | |
| Backend Developer (Python) | Профилирует memory: scalene для comprehensive profiling, objgraph для reference analysis. Выявляет leaks. | |
| Backend Developer (Rust) | Профилирует memory в Rust: jemalloc statistics, allocation tracking через custom allocators, heap profiling. Оптимизирует memory layout (repr(C)). | |
| Compiler Engineer | Уверенно применяет memory profiling perf для compiler engineer при решении нестандартных задач. Самостоятельно выбирает оптимальный подход и инструменты. Анализирует trade-offs и предлагает улучшения существующих решений. | |
| Desktop Developer (.NET WPF/WinUI/MAUI) | Использует dotMemory для allocation analysis. Оптимизирует allocations через Span<T>, stackalloc, ArrayPool. Анализирует GC pressure через EventCounters. Профилирует managed/unmanaged memory. | |
| Desktop Developer (Qt/C++) | Использует Valgrind Massif для анализа heap growth. Профилирует allocation rate через Heaptrack. Оптимизирует Qt container allocation patterns. Анализирует memory-mapped I/O в Qt-приложениях. | |
| Embedded Developer | Применяет memory profiling: runtime heap tracking, stack depth analysis через watermark, fragmentation detection для embedded allocators. | |
| Language Tooling Engineer | Самостоятельно профилирует потребление памяти в конвейерах компилятора и процессах language server с помощью Valgrind massif, AddressSanitizer и heaptrack. Понимает компромиссы между семплирующим и инструментальным профилированием для структур данных AST/IR. Диагностирует раздувание памяти в аллокаторах парсера и оптимизирует стратегии arena-аллокации для типичных рабочих нагрузок компиляции. | |
| Performance Testing Engineer | Проводит memory profiling: JVM GC analysis (GC logs, VisualVM), heap dump analysis (Eclipse MAT), native memory tracking. Детектирует leaks в long-running tests. | |
| Systems Programmer (C/C++) | Самостоятельно применяет инструменты профилирования памяти — Valgrind massif, heaptrack, perf mem и MemorySanitizer — для диагностики проблем с памятью в системном коде. Понимает компромиссы между накладными расходами профилирования и точностью для модулей ядра, драйверов или встроенного ПО. Анализирует паттерны фрагментации кучи, оптимизирует пользовательские аллокаторы и снижает пиковое потребление памяти в компонентах, критичных к задержкам. | |
| Unity Developer | Самостоятельно профилирует память в проектах Unity с помощью Memory Profiler, Deep Profiling и платформенных инструментов — Xcode Instruments или Android Profiler. Понимает компромиссы между поведением памяти IL2CPP и Mono, паттерны аллокаций GC и бюджеты текстурной памяти. Оптимизирует стратегии загрузки ассетов, снижает нагрузку на GC через пулирование объектов и устраняет пики памяти при переходах между сценами. | |
| Unreal Engine Developer | Самостоятельно применяет профилирование памяти в Unreal с помощью Unreal Insights, LLM (Low-Level Memory Tracker) и MallocProfiler для диагностики проблем с памятью. Понимает компромиссы между стратегиями стриминга и резидентной памяти для различных типов ассетов. Оптимизирует пулы стриминга текстур, снижает накладные расходы на количество UObject и устраняет нарушения бюджета памяти на целевых платформах — консолях или мобильных устройствах. | |
| XR Unity Developer | Обязателен | Проводит детальный анализ памяти: memory snapshots, managed/unmanaged breakdown. Оптимизирует texture/mesh memory для Quest. Отслеживает Addressables memory. |
| Роль | Обязательность | Описание |
|---|---|---|
| AR/VR Developer | Обязателен | Проводит глубокий анализ памяти XR-систем: fragmentation, allocation patterns. Оптимизирует managed/unmanaged memory баланс. Реализует custom memory tracking. |
| Backend Developer (Go) | Проектирует memory-efficient Go: sync.Pool, arena allocations, zero-copy patterns. Continuous profiling. | |
| Backend Developer (Java/Kotlin) | Проектирует memory profiling: continuous heap analysis, GC log automation, memory leak detection pipeline. | |
| Backend Developer (Python) | Проектирует memory profiling: production memory tracking, automated leak detection, capacity planning. | |
| Backend Developer (Rust) | Проектирует memory-efficient Rust: arena allocators, zero-copy parsing, memory-mapped I/O. Внедряет continuous memory profiling в CI. | |
| Compiler Engineer | Экспертно применяет memory profiling perf для compiler engineer для проектирования сложных систем. Оптимизирует существующие решения и предотвращает архитектурные ошибки. Проводит code review и обучает коллег лучшим практикам. | |
| Desktop Developer (.NET WPF/WinUI/MAUI) | Обязателен | Проектирует memory-efficient .NET desktop applications. Анализирует fragmentation через ClrMD. Оптимизирует GC through Server/Workstation modes and regions. Использует NativeMemory для large allocations. |
| Desktop Developer (Qt/C++) | Обязателен | Проектирует memory performance optimization pipeline. Анализирует NUMA-эффекты для multi-threaded Qt. Реализует custom memory allocators для hot path. Использует perf mem для анализа memory access patterns. |
| Embedded Developer | Проектирует memory monitoring: runtime memory dashboards, leak detection для long-running firmware, automated memory regression. | |
| Language Tooling Engineer | Обязателен | Проектирует инфраструктуру профилирования памяти для языковых инструментальных цепочек — отслеживание пользовательских аллокаторов, регрессионные тесты памяти на этапе компиляции и автоматическое обнаружение утечек в CI. Оптимизирует расположение в памяти ключевых структур данных компилятора (AST, таблицы символов, графы типов) на основе данных massif, heaptrack и кастомной инструментации. Наставляет команду по проектированию IR с эффективным использованием памяти и выявляет системные горячие точки аллокаций на различных стадиях многопроходной компиляции. |
| Performance Testing Engineer | Обязателен | Проектирует memory performance testing: soak tests для leak detection, GC tuning validation, memory pressure testing. Автоматизирует leak detection в CI. |
| Systems Programmer (C/C++) | Обязателен | Проектирует комплексные стратегии профилирования памяти для системного ПО, включая подсистемы ядра, среды выполнения и высокопроизводительные сервисы. Создаёт фреймворки отслеживания памяти, интегрирующие perf, eBPF-пробы для памяти и API интроспекции jemalloc. Оптимизирует расположение данных в памяти для кэш-эффективности через редизайн структур данных на основе профилирования. Наставляет команду по диагностике сложных проблем: false sharing, NUMA-aware аллокации и поведение transparent huge pages. |
| Unity Developer | Обязателен | Проектирует конвейеры профилирования памяти для проектов Unity — автоматизированное регрессионное тестирование памяти в CI, кастомное отслеживание памяти для Addressables и бандлов ассетов, контроль бюджета памяти для конкретных платформ. Оптимизирует взаимодействие памяти с нативными плагинами, снижает фрагментацию managed-кучи через архитектурные решения и внедряет инструменты анализа снимков памяти. Наставляет команду по паттернам ECS с эффективным использованием памяти, стратегиям сжатия текстур и GC-free горячим путям. |
| Unreal Engine Developer | Обязателен | Проектирует инфраструктуру профилирования памяти для проектов на Unreal — автоматическое отслеживание бюджетов LLM в CI, кастомные группы статистик памяти и регрессионное тестирование памяти для консолей. Оптимизирует расположение в памяти геймплейных систем на основе данных Unreal Insights, анализа Stomp-аллокатора и инструментов памяти платформенных SDK. Наставляет команду по архитектуре стриминга, настройке пулов памяти и снижению пикового потребления через оптимизацию LOD и зависимостей ассетов. |
| XR Unity Developer | Обязателен | Глубокий memory analysis: fragmentation, allocation patterns, native memory. Реализует custom memory tracking. Оптимизирует managed/unmanaged баланс. |
| Роль | Обязательность | Описание |
|---|---|---|
| AR/VR Developer | Обязателен | Формирует memory profiling strategy для XR-проекта. Внедряет automated memory regression testing. Определяет memory budgets. |
| Backend Developer (Go) | Определяет memory profiling стандарты: mandatory profiling, memory budgets, regression detection. | |
| Backend Developer (Java/Kotlin) | Определяет memory profiling стандарты: mandatory profiling, memory budgets, GC tuning policies. | |
| Backend Developer (Python) | Определяет memory profiling стандарты: profiling practices, memory budgets, regression detection. | |
| Backend Developer (Rust) | Определяет memory profiling стандарты: mandatory profiling для hot paths, memory budgets, regression detection. Проводит memory reviews. | |
| Compiler Engineer | Устанавливает стандарты применения memory profiling perf для compiler engineer в команде и принимает архитектурные решения. Определяет технический roadmap с учётом данного навыка. Менторит senior инженеров и влияет на практики смежных команд. | |
| Desktop Developer (.NET WPF/WinUI/MAUI) | Обязателен | Определяет memory performance стратегию для .NET desktop. Координирует memory optimization. Формирует memory performance SLA. |
| Desktop Developer (Qt/C++) | Обязателен | Определяет стратегию memory performance для desktop-платформы. Координирует memory optimization across компонентов. Формирует memory performance SLA. |
| Embedded Developer | Определяет memory profiling стандарты для команды. Формирует memory budgets per task, automated checks в CI. | |
| Language Tooling Engineer | Обязателен | Определяет стратегию Memory Profiling на уровне команды/продукта. Формирует стандарты и best practices. Проводит review. |
| Performance Testing Engineer | Обязателен | Определяет memory profiling стандарты: mandatory soak tests, GC monitoring, memory budget per service. Внедряет automated leak detection. |
| Systems Programmer (C/C++) | Обязателен | Определяет стратегию профилирования памяти на уровне команды и продукта для системного ПО. Устанавливает обязательные проверки профилирования в CI/CD — пороги регрессии памяти, сертификацию отсутствия утечек для релизов и периодическое глубокое профилирование с помощью Valgrind, heaptrack и eBPF. Стандартизирует политики бюджетов памяти по подсистемам, проводит архитектурные ревью по паттернам аллокаций и продвигает внедрение memory-safe практик и фреймворков кастомных аллокаторов по всей кодовой базе. |
| Unity Developer | Обязателен | Определяет стратегию профилирования памяти на уровне команды и продукта для проектов Unity. Устанавливает бюджеты памяти по платформам (мобильные, консоли, ПК), внедряет автоматические проверки памяти в CI через снимки Memory Profiler и стандартизирует руководства по памяти ассетов для команд арта и дизайна. Проводит ревью систем, критичных к памяти, продвигает внедрение стриминга на основе Addressables для контроля памяти в рантайме и обеспечивает интеграцию профилирования памяти в продакшн-конвейер от прототипирования до релиза. |
| Unreal Engine Developer | Обязателен | Определяет стратегию профилирования памяти на уровне команды и продукта для проектов на Unreal Engine. Устанавливает бюджеты памяти по платформам с помощью тегов LLM, внедряет регрессионное тестирование памяти в CI с автоматизацией Unreal Insights и стандартизирует руководства по памяти для контент-мейкеров и геймплей-программистов. Проводит архитектурные ревью систем стриминга, влияния World Partition на память и цепочек ссылок на ассеты. Продвигает внедрение memory-aware практик разработки по всем дисциплинам. |
| XR Unity Developer | Обязателен | Формирует memory profiling strategy. Внедряет regression testing. Определяет memory budgets. |
| Роль | Обязательность | Описание |
|---|---|---|
| AR/VR Developer | Обязателен | Определяет стратегию memory profiling для XR-экосистемы. Формирует стандарты для индустрии. |
| Backend Developer (Go) | Формирует memory стратегию: platform-wide Go memory governance, optimization priorities. | |
| Backend Developer (Java/Kotlin) | Формирует memory optimization: platform JVM memory governance, GC strategy, capacity planning. | |
| Backend Developer (Python) | Формирует memory стратегию: platform Python memory governance, optimization priorities. | |
| Backend Developer (Rust) | Формирует memory optimization стратегию: platform-wide memory governance, custom allocator strategy, memory-aware architecture. | |
| Compiler Engineer | Формирует стратегию применения memory profiling perf для compiler engineer на уровне организации. Определяет best practices и влияет на выбор технологий за пределами своей команды. Является признанным экспертом в данной области. | |
| Desktop Developer (.NET WPF/WinUI/MAUI) | Обязателен | Формирует enterprise memory performance стандарты для .NET desktop. Оценивает .NET GC improvements. Определяет memory architecture. |
| Desktop Developer (Qt/C++) | Обязателен | Формирует enterprise memory performance стандарты. Оценивает memory-efficient архитектуры для embedded Qt. Определяет memory footprint requirements для организации. |
| Embedded Developer | Определяет enterprise memory profiling подход. Формирует memory certification strategy для safety-critical embedded. | |
| Language Tooling Engineer | Обязателен | Определяет стратегию Memory Profiling на уровне организации. Формирует enterprise-подходы. Менторит leads и architects. |
| Performance Testing Engineer | Обязателен | Проектирует memory optimization strategy: GC tuning guidelines, memory-efficient architecture patterns, automated memory regression detection. |
| Systems Programmer (C/C++) | Обязателен | Определяет стратегию профилирования памяти на уровне организации для подразделений системного программирования. Устанавливает корпоративные стандарты качества памяти — обязательные инструментальные цепочки профилирования (Valgrind, eBPF, инструментация кастомных аллокаторов), межкомандное управление бюджетами памяти и организационные SLA по регрессии памяти. Определяет архитектурные решения по внедрению memory-safe языков, стандартизации кастомных аллокаторов и профилированию NUMA/гетерогенной памяти в продуктах. Наставляет лидов по построению инженерной культуры, ориентированной на эффективное использование памяти. |
| Unity Developer | Обязателен | Определяет стратегию профилирования памяти на уровне организации для нескольких проектов и студий на Unity. Устанавливает корпоративные стандарты профилирования памяти — общий инструментарий автоматического анализа памяти, межпроектные фреймворки бюджетов памяти по уровням платформ и организационные SLA по качеству памяти. Определяет архитектурные решения по внедрению технологий Unity (DOTS, ECS, кастомные нативные плагины) с точки зрения эффективности памяти. Наставляет лидов по интеграции бюджетирования памяти в продакшн-конвейеры и согласованию целевых показателей памяти с бизнес-требованиями по проектам. |
| Unreal Engine Developer | Обязателен | Определяет стратегию профилирования памяти на уровне организации для нескольких проектов и студий на Unreal Engine. Устанавливает корпоративные стандарты памяти — единые таксономии тегов LLM, общую автоматизацию профилирования памяти по проектам и межпроектное управление бюджетами памяти для всех целевых платформ. Определяет архитектурные решения по кастомизации движка (кастомные аллокаторы, системы стриминга, конфигурации World Partition) с точки зрения оптимизации памяти. Наставляет лидов по интеграции профилирования памяти в организационные процессы разработки и согласованию целевых показателей памяти с сертификацией платформ и бизнес-целями. |
| XR Unity Developer | Обязателен | Определяет memory profiling стратегию для XR. Формирует стандарты. |