1. 05 Şub, 2008 1 kayıt (commit)
  2. 08 Şub, 2006 1 kayıt (commit)
    • Armin Rigo's avatar
      Added the cProfile module. · a871ef2b
      Armin Rigo yazdı
      Based on lsprof (patch #1212837) by Brett Rosen and Ted Czotter.
      With further editing by Michael Hudson and myself.
      History in svn repo: http://codespeak.net/svn/user/arigo/hack/misc/lsprof
      
      * Module/_lsprof.c is the internal C module, Lib/cProfile.py a wrapper.
      * pstats.py updated to display cProfile's caller/callee timings if available.
      * setup.py and NEWS updated.
      * documentation updates in the profiler section:
         - explain the differences between the three profilers that we have now
         - profile and cProfile can use a unified documentation, like (c)Pickle
         - mention that hotshot is "for specialized usage" now
         - removed references to the "old profiler" that no longer exists
      * test updates:
         - extended test_profile to cover delicate cases like recursion
         - added tests for the caller/callee displays
         - added test_cProfile, performing the same tests for cProfile
      * TO-DO:
         - cProfile gives a nicer name to built-in, particularly built-in methods,
           which could be backported to profile.
         - not tested on Windows recently!
      a871ef2b
  3. 20 Eyl, 2005 1 kayıt (commit)
  4. 08 Tem, 2004 1 kayıt (commit)
  5. 22 Mar, 2004 1 kayıt (commit)
  6. 04 Eki, 2001 2 kayıt (commit)
    • Tim Peters's avatar
      Whitespace normalization. · 527e64fd
      Tim Peters yazdı
      527e64fd
    • Guido van Rossum's avatar
      Hopefully fix the profiler right. Add a test suite that checks that · f137f75a
      Guido van Rossum yazdı
      it deals correctly with some anomalous cases; according to this test
      suite I've fixed it right.
      
      The anomalous cases had to do with 'exception' events: these aren't
      generated when they would be most helpful, and the profiler has to
      work hard to recover the right information.  The problems occur when C
      code (such as hasattr(), which is used as the example here) calls back
      into Python code and clears an exception raised by that Python code.
      Consider this example:
      
          def foo():
              hasattr(obj, "bar")
      
      Where obj is an instance from a class like this:
      
          class C:
              def __getattr__(self, name):
                  raise AttributeError
      
      The profiler sees the following sequence of events:
      
          call (foo)
          call (__getattr__)
          exception (in __getattr__)
          return (from foo)
      
      Previously, the profiler would assume the return event returned from
      __getattr__. An if statement checking for this condition and raising
      an exception was commented out...  This version does the right thing.
      f137f75a