Search
Write a publication
Pull to refresh
10
8
Илья Романенко @IlyaSM

User

Send message

MemHawk — профилировщик памяти для многопоточных приложений

Level of difficultyMedium
Reading time19 min
Views626

Практически каждому разработчику однажды приходилось искать утечки памяти в его приложении / либо же профилировать использование памяти процессом. Задача эта довольно трудоемкая и непростая.

Большинство популярных профилировщиков памяти либо дают неточную информацию (sampling), либо значительно замедляют выполнение (Valgrind, heaptrack). При этом в многопоточной среде они плохо масштабируются и требуют сложной настройки.

Желание совместить детализацию аналогичную heaptrack и при этом решить проблему с многопоточностью привело к созданию MemHawk. Новый профилировщик сочетает преимущества традиционного подхода с учетом каждой аллокацией, но при этом предоставляет статистику по каждому уникальному стектрейсу без записи каждой аллокации в лог.

В данной статье рассмотрим какие ключевые вопросы нужно решить при разработке своего профайлера, чем не угодили существующие решения и на какие ограничения пришлось пойти.

Спойлер - удалось ускориться по отношению к heaptrack в 30 раз.

Читать далее

Персистентное декартово дерево по неявному ключу

Reading time6 min
Views23K

Осторожно, персистентность


Сегодня достаточно необычный день, не правда ли? Как часто на Хабре появляются статьи про персистентные структуры данных? И именно сегодня я желаю вам рассказать про незаслуженно забытую персистентную дерамиду по неявному ключу. Итак, начнем.
Поехали!

Information

Rating
1,739-th
Location
Самара, Самарская обл., Россия
Registered
Activity