Как можно использовать контейнеры STL STL с jemalloc (или любыми другими реализациями malloc
)?C++ STL с jemalloc
Непросто как включить jemalloc/jemalloc.h
? Или я должен написать для них распределитель?
Редактировать: Приложение, над которым я работаю, выделяет и освобождает относительно небольшие объекты за время его существования. Я хочу заменить распределитель по умолчанию, потому что тесты показали, что приложение не масштабируется за пределы 2 ядер. Профилирование показало, что оно ожидает выделения памяти, что и вызвало проблемы масштабирования. Как я понимаю, jemalloc
поможет с этим.
Я бы хотел увидеть решение, нейтральное к платформе, поскольку приложение должно работать как с Linux, так и с Windows. (Связь с другой версией проста в Linux, но, насколько мне известно, это очень сложно для Windows.)
Я обновил мой вопрос, чтобы ответить вашим. Какие проблемы возникают при замене 'new'? – KovBal
Если вы просто пытаетесь заменить 'new' обычными shenanigans C++, вы можете пройти. Это когда люди пытаются заменить «malloc» на всю программу, которая становится действительно волосатой. –
Это именно то, что я хочу сделать: заменить 'malloc' на всю программу. Но я не хочу писать свою собственную реализацию; Я просто хочу использовать другую (хорошо протестированную). – KovBal