Используйте профилировщик кучи gperftools для профилирования libc malloc - PullRequest
0 голосов
/ 25 мая 2018

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

У меня нет проблем с его профилированием при использовании tcmalloc, но как профилировать его с помощью функций выделения libc?Действительно, для включения профилировщика кучи gperftool необходимо использовать -ltcmalloc flag ¹ , но это приводит к тому, что tcmalloc используется в качестве стратегии выделения.

1 Ответ

0 голосов
/ 28 мая 2018

как профилировать его с помощью функций выделения libc?

Примечание: это требование немного странное: не похоже, что ваше приложение внезапно начнет использовать больше или меньше динамической памяти или изменитсяего схема размещения или сайты при переключении с tcmalloc на GLIBC malloc.

From https://gperftools.github.io/gperftools/heapprofile.html:

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

Так что вы можете

  • ждатьчтобы разработчики Google убрали это требование (это может занять несколько дней или несколько лет - я понятия не имею. На самом деле, похоже, что выше страница github.io не обновлялась с 2012 года, поэтому я бы не сталане задерживаю дыхание), или
  • предоставьте код, необходимый для самостоятельного разделения, или
  • найдите эквивалентный способ сделать это с GLIBC (и, возможно, передайте этот код в GLIBC).

Мне не известны какие-либо существующие аналоги GLIBC, которые работают сегодня.

...