| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
hotshot.stats.load(logfilename) returns a pstats.Stats instance, which is
about as compatible as it gets.
|
|
|
|
|
|
| |
changing an application to collect profile data on one part of the
app while still making use of the profiled component, without relying
on side effects.
|
|
|
|
|
|
|
|
|
|
|
| |
Added support for saving the names of the functions observed into the
profile log.
Added support for using the profiler to measure coverage without collecting
timing information (which is the slow part). Coverage logs can also be
substantially smaller than profiling logs where per-line information is
being collected.
Updated comments on the log format; corrected record type values in some
of the record descriptions.
|
|
|
|
|
| |
Add support for extracting function names from the log file, keeping the
extract-names-from-sources support as a fallback.
|
|
|
|
|
| |
distinguish __dict__ and __defined__ any more. In the C structure,
tp_cache takes its place -- but this hasn't been implemented yet.
|
|
|
|
|
| |
Extend tests to cover a few more cases. For cPickle, test several of
the undocumented features.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Raise ValueError when an object contains an arbitrarily nested
reference to itself. (The previous fix just produced invalid
pickles.)
Solution is very much like Py_ReprEnter() and Py_ReprLeave():
fast_save_enter() and fast_save_leave() that tracks the fast_container
limit and keeps a fast_memo of objects currently being pickled.
The cost of the solution is moderately expensive for deeply nested
structures, but it still seems to be faster than normal pickling,
based on tests with deeply nested lists.
Once FAST_LIMIT is exceeded, the new code is about twice as slow as
fast-mode code that doesn't check for recursion. It's still twice as
fast as the normal pickling code. In the absence of deeply nested
structures, I couldn't measure a difference.
|
|
|
|
| |
Remove test code. It's available in Lib/test/picklertester.py.
|
|
|
|
| |
initialize (or use or even know about :-).
|
|
|
|
|
|
|
| |
To whoever who changed a bunch of (PyCFunction) casts to
(PyNoArgsFunction) in PyMethodDef initializers: don't do that. The
cast is to shut the compiler up. The compiler wants the function
pointer initializer to be a PyCFunction.
|
|
|
|
|
| |
Py_TPFLAGS_DYNAMICTYPE bit. There is no longer a performance benefit,
and I don't really see the use case any more.
|
|
|
|
| |
extern-able name.
|
| |
|
|
|
|
| |
on SF bug #467145.
|
|
|
|
|
| |
RFC 2049 recommends never outputting a line consisting of a single
dot.
|
|
|
|
| |
assertion.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"for <var> in <testlist> may no longer be a single test followed by
a comma. This solves SF bug #431886. Note that if the testlist
contains more than one test, a trailing comma is still allowed, for
maximum backward compatibility; but this example is not:
[(x, y) for x in range(10), for y in range(10)]
^
The fix involved creating a new nonterminal 'testlist_safe' whose
definition doesn't allow the trailing comma if there's only one test:
testlist_safe: test [(',' test)+ [',']]
|
|
|
|
| |
Check for pthread_sigmask before using it. Fixes remaining problem in #470781.
|
|
|
|
| |
Pass binary mode to makefile().
|
|
|
|
| |
zlib.adler32() are not suitable as general hash functions.
|
|
|
|
|
| |
that -Kpthread is supported. Fixes #470781.
Port to autoconf 2.52.
|
|
|
|
| |
has no Content-Type: header, it should be treated as text/plain.
|
|
|
|
|
|
| |
failobj, and when getting the subtype use 'plain' as the failobj.
text/plain is supposed to be the default if the message contains no
Content-Type: header.
|
|
|
|
| |
Prompted by Jim Ahlstrom. This closes SF patch #470614.
|
|
|
|
| |
Ugly, but it works.
|
|
|
|
|
|
|
| |
using the same algorithm as the slot updates. The slotdefs array is
now sorted by slot offset and has an interned string object corresponding
to the name added to each item. More can be done but I need to commit
this first as a working intermediate stage.
|
| |
|
|
|
|
| |
reported by Neal Norwitz.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Reported by Neal Norwitz.
|
|
|
|
| |
Reported by Neal Norwitz.
|
| |
|
|
|
|
| |
for tigetstr.
|
|
|
|
| |
gcc defines both.
|
| |
|
|
|
|
| |
of calling external functions.
|
|
|
|
| |
debug mode (--with-pydebug).
|
|
|
|
|
|
| |
Remove the log file after we are done with it. This should clean up after
the test even on Windows, since the file is now closed before we attempt
removal.
|
| |
|
|
|
|
| |
Rearranged the growing number of Lib packages into alphabetical order.
|
|
|
|
|
|
| |
Simply commented it out, and then test_hotshot passes on Windows.
Leaving to Fred to fix "the right way" (it seems to be a feature of
unittest that all unittests try to unlink open files <wink>).
|
| |
|
|
|
|
|
| |
This still doesn't compile on Windows, but at least I have a shot at
fixing that now.
|
|
|
|
| |
use 0x format for id. Proposed by Cesar Eduardo Barros in patch #470680.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch changes to logic to:
if env.var. set and non-empty:
if env.var. is an integer:
set flag to that integer
if flag is zero: # [actually, <= 0 --GvR]
set flag to 1
Under this patch, anyone currently using
PYTHONVERBOSE=yes will get the same output as before.
PYTHONVERBNOSE=2 will generate more verbosity than
before.
The only unusual case that the following three are
still all equivalent:
PYTHONVERBOSE=yespleas
PYTHONVERBOSE=1
PYTHONVERBOSE=0
|
|
|
|
|
| |
Still broken: GETTIMEOFDAY. This macro obviously isn't being defined
on Windows, so there's logic errors here I'd rather Fred untangled.
|