Большое количество объектов sp_counting_impl_p - PullRequest
0 голосов
/ 31 марта 2009

Я только что выполнил Профилирование распределения о количестве объектов каждого типа в моем приложении. Я использую boost :: shared_ptr широко.

Я обнаружил большое количество выделенных объектов sp_counting_impl_p, каждый из которых занимает 16 байтов. Сколько объектов sp_counting_impl_p можно ожидать на shared_ptr? У кого-нибудь есть идея?

Ответы [ 2 ]

2 голосов
/ 31 марта 2009

Для того, что я вижу в реализации, только один на shared_ptr. Тем не менее, обратите внимание, что есть больше объектов, используемых внутренним повышением, которые могут использовать этот подсчитанный класс напрямую или сам shared_ptr. Кроме того, если вы используете платформу boost.serialization, она также основана на этом классе / механизме. Во всяком случае, по «большому количеству», сколько их там?

1 голос
/ 31 марта 2009

Должен быть один на объект, на который вы указываете shared_ptr. Если их больше, вы, вероятно, неправильно используете shared_ptr и просите о неприятностях, таких как ошибки двойного освобождения.

...