Если мое приложение динамически выделяет и освобождает память много раз, каждый раз для объектов одного размера; имеет смысл обертывать malloc и free с кешем выделенной памяти для повышения производительности? или это уже делают реализации mallocs?Улучшения производительности кэшированных malloc
0
A
ответ
0
Класс boost::pool, который может сделать это за вас.
Другим более быстрым и простым способом является использование альтернативной библиотеки malloc от TBB (tbbmalloc) или Google malloc (tcmalloc). Оба они намного быстрее, чем стандартный malloc, и требуется только привязка к библиотеке, поэтому требуется изменение кода.
Я использовал tbbmalloc и получил массивное усиление 2x в нескольких приложениях.
Смежные вопросы
- 1. Улучшения производительности холста HTML5
- 2. Улучшения производительности SecureFileTransferClient
- 3. Улучшения производительности C++ 0x
- 4. Улучшения в производительности Javascript
- 5. Улучшения производительности для таблиц
- 6. Улучшения производительности запросов
- 7. Улучшения производительности SpannableStringBuilder?
- 8. Улучшения в производительности IIS
- 9. Улучшения производительности LINQ
- 10. улучшения производительности Scrapy и Потребляемый
- 11. Способы улучшения производительности прокрутки UIWebView?
- 12. WPF - Улучшения производительности графики ScreenSaver
- 13. Запрос улучшения производительности - Сортировка Фильтры
- 14. Ищите улучшения производительности подсчета SQL.
- 15. Улучшения производительности в Java-приложении
- 16. Монго дб чтения улучшения производительности
- 17. Каков следующий шаг для улучшения алгоритма malloc()?
- 18. Какие улучшения делает GCC `__builtin_malloc()` более простой `malloc()`?
- 19. Каковы способы улучшения производительности веб-сайта ASP.NET?
- 20. Несколько таблиц объединяются для улучшения производительности?
- 21. Улучшения производительности с использованием RewriteMaps-текстового файла
- 22. ЗАПОМНЕННАЯ ПРОЦЕДУРА Расчеты и улучшения производительности
- 23. Android drawLine альтернатива для улучшения производительности
- 24. Идеи улучшения производительности прокрутки на моем сайте
- 25. Улучшения производительности и Threading ASP.Net MVC
- 26. Динамическое распределение памяти C++ улучшения производительности
- 27. Способ улучшения производительности кода jQuery [Точка выбора]
- 28. Linux Многопоточные улучшения производительности для файла open()
- 29. jQuery/Javascript «для» улучшения производительности функции
- 30. SQLite Индекс даты не показывает улучшения производительности
Вы говорите о пуле * памяти *. 'malloc' уже реализует один под капотом. Можно написать свой собственный, который лучше подходит для конкретных случаев использования, но если вы не знаете, что делаете, вам лучше полагаться на значение по умолчанию. Профилировали ли вы свой код, чтобы определить это как проблему? –
@OliverCharlesworth Пока нет, у меня есть некоторые проблемы с доступом к кластеру, который я использую, и я должен ждать, чтобы сделать это. Кстати, я сначала пытаюсь выяснить, в чем проблема. Я выделяю миллионы дескрипторов, у которых средний срок службы составляет 2,5 года. Но в среднем держать пул в 10000 должен работать. Я думал, стоит ли его реализовать, бесполезно, потому что уже реализовано. – Otrebor
Часто рекомендуется избегать выделения памяти, где бы вы ни находились, прежде чем начинать увлекаться тем, как распределяется память. – tmyklebu