MCPcopy
hub / github.com/dask/dask / sizeof_python_collection

Function sizeof_python_collection

dask/sizeof.py:44–59  ·  view source on GitHub ↗
(seq)

Source from the content-addressed store, hash-verified

42@sizeof.register(set)
43@sizeof.register(frozenset)
44def sizeof_python_collection(seq):
45 num_items = len(seq)
46 num_samples = 10
47 if num_items > num_samples:
48 if isinstance(seq, (set, frozenset)):
49 # As of Python v3.9, it is deprecated to call random.sample() on
50 # sets but since sets are unordered anyways we can simply pick
51 # the first `num_samples` items.
52 samples = itertools.islice(seq, num_samples)
53 else:
54 samples = random.sample(seq, num_samples)
55 return sys.getsizeof(seq) + int(
56 num_items / num_samples * sum(map(sizeof, samples))
57 )
58 else:
59 return sys.getsizeof(seq) + sum(map(sizeof, seq))
60
61
62class SimpleSizeof:

Callers

nothing calls this directly

Calls 2

sampleMethod · 0.80
sumFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…