При использовании двух ветвей обработки одного итератора память растёт по мере отставания одной ветви: какой механизм itertools.tee это объясняет?
База Hintsage
Память и производительность
Управление памятью, профилирование и оптимизация Python.
Практика
Вопросы: Память и производительность
При повторном поиске одного и того же строкового ключа в словаре почему хеш обычно не вычисляется заново?
В чём причина почти постоянного размера объекта range при огромном числе его элементов?
В Python обход строк матрицы заметно быстрее обхода столбцов: каким механизмом памяти это объясняется?
Небольшой объект в графе памяти удерживает большой подграф: почему его retained size может быть огромным?
Опишите судьбу обычного объекта в CPython после исчезновения последней сильной ссылки?
Как механизм vectorcall сокращает накладные расходы вызова объектов в CPython?
В предзагруженном сервере на Unix после fork дочерние процессы быстро получают высокий Private Dirty: как gc.freeze перед fork может уменьшить это влияние?
В сортировке большого набора данных функция, вычисляющая ключ элемента, вызывается заметно реже сравнений: каким механизмом Python это объясняется?
Для поиска источника роста живой памяти в отчёте tracemalloc что важнее: число аллокаций или их суммарный размер?
После удаления переменной большой объект остаётся в памяти: какой механизм нужно проверить первым?
Бенчмарк двух реализаций, создающих много временных объектов, показывает преимущество одной из них только в timeit: какой механизм нужно проверить первым?
В долгоживущем обратном вызове после завершения фабричной функции остаётся большой объект: какой механизм замыкания удерживает его?
В веб-сервисе задержка запросов высока, но CPU-профиль почти пуст: какой вид измерения нужно добавить, чтобы увидеть ожидание ввода-вывода?
В долгоживущем Python-сервисе нужен профилировщик с минимальным влиянием на задержку: почему sampling-профилирование обычно предпочтительнее детерминированного?
В сценарии с множеством небольших временных объектов RSS процесса остаётся высоким после их удаления: как аллокатор малых объектов CPython объясняет такое поведение?
В реестре обработчиков сохраняют метод экземпляра, после чего экземпляр не освобождается: какой механизм удерживает его в памяти?
На что повлияет резкое увеличение порога поколения 0 в CPython при неизменном числе создаваемых объектов?
Каким образом __del__ может помешать окончательному освобождению недостижимого объекта?
При распараллеливании CPU-bound задачи потоками в стандартном CPython время почти не сокращается: какой механизм это объясняет?
Показано 1–20 из 50