diff options
author | Fred Drake <fdrake@acm.org> | 2002-05-29 19:40:36 (GMT) |
---|---|---|
committer | Fred Drake <fdrake@acm.org> | 2002-05-29 19:40:36 (GMT) |
commit | 127ee1607f41da6a9f914c8de7c3638b6d6490cc (patch) | |
tree | a7c65df5f9337dce5b8c8756906d30566ef848e8 | |
parent | 187b1d8260b2434c55e37fef0fb404408829051b (diff) | |
download | cpython-127ee1607f41da6a9f914c8de7c3638b6d6490cc.zip cpython-127ee1607f41da6a9f914c8de7c3638b6d6490cc.tar.gz cpython-127ee1607f41da6a9f914c8de7c3638b6d6490cc.tar.bz2 |
Minor cleanup:
- Add comment explaining the structure of the stack.
- Minor optimization: make stack tuple directly usable as part of return
value for enter/exit events.
-rw-r--r-- | Lib/hotshot/log.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/Lib/hotshot/log.py b/Lib/hotshot/log.py index c95f7f4..9e2f068 100644 --- a/Lib/hotshot/log.py +++ b/Lib/hotshot/log.py @@ -41,6 +41,12 @@ class LogReader: self.cwd = self._info['current-directory'] else: self.cwd = None + + # This mirrors the call stack of the profiled code as the log + # is read back in. It contains tuples of the form: + # + # (file name, line number of function def, function name) + # self._stack = [] self._append = self._stack.append self._pop = self._stack.pop @@ -99,15 +105,15 @@ class LogReader: if what == WHAT_ENTER: filename, funcname = self._decode_location(fileno, lineno) - self._append((filename, funcname, lineno)) - return what, (filename, lineno, funcname), tdelta + t = (filename, lineno, funcname) + self._append(t) + return what, t, tdelta if what == WHAT_EXIT: - filename, funcname, lineno = self._pop() - return what, (filename, lineno, funcname), tdelta + return what, self._pop(), tdelta if what == WHAT_LINENO: - filename, funcname, firstlineno = self._stack[-1] + filename, firstlineno, funcname = self._stack[-1] return what, (filename, lineno, funcname), tdelta if what == WHAT_DEFINE_FILE: |