Главная → 2012 → Архитектуры
Правильная работа с динамической памятью в высоконагруженных проектах
Все мы привыкли к тому, что в большинстве случаев самое узкое место в работающем под нагрузкой приложении — это базы, диски и прочее I/O. Но как быть, если бороться приходится буквально за каждую миллисекунду? На что стоит обратить внимание при оптимизации самого приложения? Мой ответ — память.
Доклад расскажет, почему не стоит использовать стандартный аллокатор памяти в высоконагруженных проектах. Какие на сегодняшний день существуют альтернативы, как они работают и почему в разы быстрее стандартной реализации. Какие подводные камни существуют, и каким образом их можно обойти. Как правильно использовать сторонние аллокаторы и случайно не выстрелить себе в ногу.
- malloc "из коробки" медленнее tcmalloc в N раз — почему?
- обзор существующих аллокаторов и их алгоритмов работы;
- на что стоит обратить внимание при выборе алгоритма;
- аллокаторы и многопоточность — как избежать проблем;
- best-practices использования аллокаторов в высоконагруженных проектах.
Целевая аудитория
Доклад, в первую очередь, будет полезен разработчикам на C/C++. Кроме того, надеюсь на его ценность для всех программистов из соседних "лагерей", архитекторов и тех, кто интересуется оптимизацией приложений.