Size: a a a

2020 August 13

AZ

Alexander Zaitsev in pro.cxx
если снятие сэмплов запускать руками, то непонятно, зачем мне снимать сэмпл со всего приложения, когда у меня valuable change только в одной подсистеме
источник

AZ

Alexander Zaitsev in pro.cxx
Андрей Руссков
минусы - надо делать кросспроцессные очереди, но по факту на концепцию акторов это не так уж и плохо накладывается
проблема в том, что акторами тут не особо пахнет
источник

IZ

Ivan Zamorano in pro.cxx
Alexander Zaitsev
если говорить про семплирующие, то сэмпл может не попасть на отрезок времени, в который произошло что-то важное
нет, те, которые собирают стек на аллокации/деаллокации. никакого семплирования :)
источник

AZ

Alexander Zaitsev in pro.cxx
просто есть мешанина из подсистем, которые что-то делают
источник

AK

Alexey Kuznetsov in pro.cxx
То есть нужна не тула для анализа, а рантайм трекинг компактный?
источник

AZ

Alexander Zaitsev in pro.cxx
Ivan Zamorano
нет, те, которые собирают стек на аллокации/деаллокации. никакого семплирования :)
а, на каждый аллок\деаллок? господи
источник

AZ

Alexander Zaitsev in pro.cxx
Alexey Kuznetsov
То есть нужна не тула для анализа, а рантайм трекинг компактный?
да
источник

AZ

Alexander Zaitsev in pro.cxx
если можно сделать через тулу (во что я не особо верю) - тоже ок :)
источник

AZ

Alexander Zaitsev in pro.cxx
Andrew Khoma
А почему бы просто не создать некого Owner-а каждому алокатору?
это всё вариации одного и того же метода
источник

AK

Alexey Kuznetsov in pro.cxx
Ну тогда из рантайм стейта нельзя понять к какому модулю у вас относится аллокация, надо руками все равно какие то метки тогда проставить. Аллокаторы кастомные, pmr::memory_resource ед че в голову приходит что может вам помочь. Ну и руками придется пойти и везде помаркать что это за модуль.
источник

AZ

Alexander Zaitsev in pro.cxx
Alexey Kuznetsov
Ну тогда из рантайм стейта нельзя понять к какому модулю у вас относится аллокация, надо руками все равно какие то метки тогда проставить. Аллокаторы кастомные, pmr::memory_resource ед че в голову приходит что может вам помочь. Ну и руками придется пойти и везде помаркать что это за модуль.
а есть какие-нибудь готовые истории успеха внедрения подобных вещей?
источник

AK

Alexey Kuznetsov in pro.cxx
Мы собирали коллстеки, слали во внешний сервис и делали кастомную вьюху для них. Ну и свои аллокаторы, которые маркали память по группам задефайненым в точках использования. Но в итоге самой полезной тулой для анализа была libmat от сони и их тулинг. Ну и это все из специфики игрулек.
источник

AK

Alexey Kuznetsov in pro.cxx
Сами коллстеки если не резолвить в символы это просто набор поинтеров на фреймы, так что впринципе это не самый плохой вариант
источник

AZ

Alexander Zaitsev in pro.cxx
а какой получается размер рантайм оверхеда на подобное?
источник

AZ

Alexander Zaitsev in pro.cxx
мемори футпринт как я понимаю затрагивается примерно никак. интересует процессорное время
источник

AK

Alexey Kuznetsov in pro.cxx
По памяти какой буфер сделаете такой и будет. По цпу был довольно незначительный. Настолько что убрали дефайны и сделали собиралку коллстеков всегда включенной для внутренних билдов
источник

AZ

Alexander Zaitsev in pro.cxx
понял, спасибо. направление дальнейших раскопок ясно
источник

TS

Till Schneider in pro.cxx
народ, а можно ссылку на стандарт, где сказано, что в шаблоннах можно обращаться к private subclass
https://ideone.com/2V11CF
источник

t

theadla in pro.cxx
@h4cktill

я помню вы ссылку кидали от гугла, типа архива длч cpp, можно ее?
источник

ИI

И Ivan in pro.cxx
А я не понимаю, почему не помогает стата с аллокатора. Как она выглядит? Мне кажется, она должна быть довольно интересной. По крайней мере из tcmalloc-а стата довольно понятная. Хотя может это потому, что я не использовал ее на очень больших проектах
источник