Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Эффективное измерение использования памяти объектами Python с помощью sys.getsizeof()

С помощью функции sys.getsizeof() можно проверить объём памяти, занимаемый объектом:

import sys
mylist = range(0, 10000)
print(sys.getsizeof(mylist))  # 48

Удивительно... почему этот огромный список занимает всего 48 байт?

Дело в том, что функция range возвращает итерируемый объект, который ведёт себя как список чисел, но внутренне просто хранит счётчик последней итерации. Объект range намного более эффективен по памяти, чем реальный список чисел.

Можно убедиться в этом самостоятельно, создав настоящий список Python из того же диапазона с помощью генератора списков:

import sys
myreallist = [x for x in range(0, 10000)]
print(sys.getsizeof(myreallist))  # 87632

Это примерно 87 КБ для 10 000 чисел.

Python

  1. Освоение типов данных в Python: практическое руководство
  2. Мастерство операторов Python: Полное руководство
  3. Оператор pass в Python: практическое руководство
  4. Аргументы функций в Python: позиционные, именованные и параметры по умолчанию
  5. Словари в Python: создание, манипуляции и продвинутые техники
  6. Освоение функции range() в Python: от основ к продвинутым сценариям
  7. Python time.sleep(): как добавить задержки в код (пример)
  8. Проверка существования файлов и директорий в Python — практическое руководство
  9. Квартальная проверка здоровья цепочки поставок: обеспечьте бесперебойные операции
  10. Основная весенняя подготовка строительной техники: экономия времени и продление срока службы