Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Efficiënt Python-objectgeheugen meten met sys.getsizeof()

Efficiënt Python-objectgeheugen meten met sys.getsizeof()

Met sys.getsizeof() kun je het geheugengebruik van een object controleren:

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

Wow… wacht… waarom is deze enorme lijst slechts 48 bytes?

Dit komt doordat de range-functie een iterabel object retourneert dat zich gedraagt als een lijst met getallen, maar intern slechts de laatste iteratienummer bijhoudt. Een range is veel geheugenefficiënter dan een echte lijst met getallen.

Je kunt dit zelf zien door een list comprehension te gebruiken om een echte Python-lijst met getallen uit dezelfde range te maken:

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

Dat is ruwweg 87 KB voor 10.000 getallen.

Python

  1. Essentiële lentevoorbereiding voor bouwapparatuur: tijd besparen en levensduur verlengen
  2. Kwartaallijkse toeleveringsketengezondheidscheck: Zorg voor soepel operaties
  3. Python Datatypes onder de knie krijgen: Een praktische gids
  4. Python Operators onder de knie krijgen: Een uitgebreide gids
  5. Python For Loops onder de knie krijgen: Syntaxis, Voorbeelden en Geavanceerde Patronen
  6. Python Pass Statement onder de knie krijgen: Een praktische gids
  7. Python Functie-argumenten onder de knie krijgen: Positionele, Keyword en Default Parameters
  8. Python-dictionaries beheersen: aanmaken, manipuleren en geavanceerde technieken
  9. Python's range()-functie onder de knie: van basis tot geavanceerde use cases
  10. Python time.sleep(): Hoe vertraging toe te voegen aan je code (voorbeeld)
  11. Bestands- en directory-bestaat controleren in Python – Een praktische gids