MCPcopy Index your code
hub / github.com/pythonprofilers/memory_profiler / trace

Method trace

memory_profiler.py:673–687  ·  view source on GitHub ↗
(self, code, lineno, prev_lineno)

Source from the content-addressed store, hash-verified

671 self.add(subcode, toplevel_code=toplevel_code)
672
673 def trace(self, code, lineno, prev_lineno):
674 memory = _get_memory(-1, self.backend, include_children=self.include_children,
675 filename=code.co_filename)
676 prev_value = self[code].get(lineno, None)
677 previous_memory = prev_value[1] if prev_value else 0
678 previous_inc = prev_value[0] if prev_value else 0
679
680 prev_line_value = self[code].get(prev_lineno, None) if prev_lineno else None
681 prev_line_memory = prev_line_value[1] if prev_line_value else 0
682 occ_count = self[code][lineno][2] + 1 if lineno in self[code] else 1
683 self[code][lineno] = (
684 previous_inc + (memory - prev_line_memory),
685 max(memory, previous_memory),
686 occ_count,
687 )
688
689 def items(self):
690 """Iterate on the toplevel code blocks."""

Callers 1

trace_memory_usageMethod · 0.80

Calls 1

_get_memoryFunction · 0.85

Tested by

no test coverage detected