Книга: Разработка приложений в среде Linux. Второе издание
7.5.5. Потребление ресурсов
7.5.5. Потребление ресурсов
Хотя Electric Fence является мощным, легким в употреблении и быстрым инструментом (поскольку все проверки доступа осуществляются аппаратными средствами), за все это приходится платить свою цену. Большинство процессоров позволяют системе управлять доступом к памяти только в единицах, равных странице, за один раз. На процессорах Intel 80x86, например, каждая страница занимает 4096 байт. Вследствие того, что Electric Fence требует от malloc()
установки двух разных областей памяти для каждого вызова (одна — позволяющая доступ, а другая — запрещающая), каждый вызов malloc()
потребляет страницу памяти, или 4 Кбайт[12]! Если в тестируемом коде распределяется множество небольших участков памяти, его компоновка с Electric Fence может легко увеличить потребление памяти программы на два или три порядка. При этом использование EF_PROTECT_FREE
еще более усугубляет положение, поскольку память никогда не освобождается.
Для систем с большими относительно размера отлаживаемой программы объемами памяти при поиске источника определенной проблемы Electric Fence может действовать быстрее, чем Valgrind. Тем не менее, если для функционирования Electric Fence требуется организовать пространство для свопинга размером в 1 Гбайт, то Valgrind, вполне вероятно, окажется намного быстрее, даже несмотря на то, что он использует эмулятор, а не собственно центральный процессор.
- Злоупотребление терминами и размытыми понятиями
- Листинг 11.11. Три полезных способа кэширования графических ресурсов
- Что такое администратор ресурсов?
- Поисковые машины и каталоги как инструменты раскрутки «боевых» интернет-ресурсов и наполнения их контентом
- Примеры администраторов ресурсов
- 7. Распределение ресурсов, управление электропитанием и мониторинг состояния системы
- Листинг 13.6. Код формы, демонстрирующий загрузку встроенных ресурсов
- Характеристики администраторов ресурсов
- 23.3. Ограничение системных ресурсов
- Виды ресурсов
- Глава 5. Обзор прочих бесплатных ресурсов
- Структура администратора ресурсов