4 года назад
Поиск и устранение утечек памяти в Python
Источник: Nuances of Programming Одним из основных плюсов динамически интерпретируемых языков (включая Python) является то, что с ними можно легко управлять памятью. По мере необходимости объекты (массивы и строки) динамически растут, а их память очищается, когда ей никто не пользуется. Поскольку управление памятью осуществляется самим языком, то ее утечки встречаются реже, чем в С и С++, в которых программист сам запрашивает и высвобождает память. Например, технологический стек BuzzFeed включает...
Управление памятью в Python
Перевод статьи подготовлен для студентов курса «Разработчик Python» в образовательном проекте OTUS. Вы когда-нибудь задумывались как Python за кулисами обрабатывает ваши данные? Как ваши переменные хранятся в памяти? В какой момент они удаляются? В этой статье мы углубимся во внутреннее устройство Python, чтобы понять, как происходит управление памятью. Прочитав эту статью, вы: Знание внутреннего устройства Python даст лучшее понимание о принципах его поведении. Надеюсь, вы сможете взглянуть на Python с новой стороны...
2 года назад
Программирование на ассемблере GAS, Linux x86-64. Выделение динамической памяти, системная функция brk (книга)
Продолжаем публикацию книги о программирование на языке ассемблера (GAS) в операционной системе Linux (x86-64). Сегодня продолжаем рассматривать вопросы памяти. Параграф 5.3 Ассемблер. Выделение динамической памяти функцией brk. В действительности у нас — программистов есть и еще одна возможность использовать память. Можно программно в ходе выполнения выделять память для нужд программы. Та часть памяти, которая позволяет получать ее для программы динамическим способом, называется кучей. При запуске программы куча (динамическая память) располагается между статической памятью и стеком...