Поддержка пользовательских аллокаторов
Пользовательские аллокаторы могут быть полезны для отслеживания потребления памяти, профилирования кучи и CPU, а также для повышения общей производительности.
Reindexer поддерживает TCMalloc (который также является частью GPerfTools) и JEMalloc.
Их поддержка включается при сборке c помощью опций cmake: ENABLE_TCMALLOC и ENABLE_JEMALLOC.
При сборке Standalone сервера из исходных кодов доступные аллокаторы будут обнаружены и использованы автоматически.
Приоритет в данном случае отдаётся TCMalloc.
При сборке приложения из готовых пакетов с помощью go:generate Reindexer также поддерживает TCMalloc.
Но ни одна из библиотек TCMalloc не будет подключена автоматически.
Для принудительного использования библиотек аллокаторов необходимо использовать LDPRELOAD:
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libtcmalloc_and_profiler.so ./my_executable