Массовое замедление с кучей отладки - PullRequest
0 голосов
/ 24 февраля 2012

Я испытываю падение производительности x8 на промежуточном программном обеспечении, которое я использую при запуске с отладчиком.

Разница заключается в том, что отладчик использует кучу отладки, которая является стандартной кучей (HeapQueryInformation дает 0), тогда как "стандартный" прогон использует кучу с низкой фрагментацией (HeapQueryInformation дает 2).

Теперь я знаю, что могу заставить Visual выполнить отладку с помощью LFH с помощью переменной среды _NO_DEBUG_HEAP, но я подозреваю, что в промежуточном программном обеспечении есть проблема с кодом (слишком много выделений, слишком много косвенных адресов, использование boost :: shared_ptr и std :: карта ...). Итак:

  • Существуют ли какие-либо инструменты / методы / что-нибудь, что может помочь выявить такие узкие места?
  • Я никак не могу убедить компанию промежуточного программного обеспечения провести рефакторинг всего своего кода =), но есть ли «простые» приемы, такие как пользовательские распределители (nedmalloc?), Которые могут помочь?

Спасибо!

...