summaryrefslogtreecommitdiffstats
path: root/Misc/SpecialBuilds.txt
Commit message (Collapse)AuthorAgeFilesLines
* _Py_PrintReferenceAddresses(): also print the type name. In real useTim Peters2003-04-181-1/+10
| | | | | | | | | I'm finding some pretty baffling output, like reprs consisting entirely of three left parens. At least this will let us know what type the object is (it's not str -- there's no quote character in the repr). New tool combinerefs.py, to combine the two output blocks produced via PYTHONDUMPREFS.
* When Py_TRACE_REFS is defined, a list of all live objects is maintained inTim Peters2003-03-231-4/+13
| | | | | | | | | | | a doubly-linked list, exposed by sys.getobjects(). Unfortunately, it's not really all live objects, and it seems my fate to bump into programs where sys.gettotalrefcount() keeps going up but where the reference leaks aren't accounted for by anything in the list of all objects. This patch helps a little: if COUNT_ALLOCS is also defined, from now on type objects will also appear in this list, provided at least one object of a type has been allocated.
* Small function call optimization and special build option for call stats.Jeremy Hylton2003-02-051-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | -DCALL_PROFILE: Count the number of function calls executed. When this symbol is defined, the ceval mainloop and helper functions count the number of function calls made. It keeps detailed statistics about what kind of object was called and whether the call hit any of the special fast paths in the code. Optimization: When we take the fast_function() path, which seems to be taken for most function calls, and there is minimal frame setup to do, avoid call PyEval_EvalCodeEx(). The eval code ex function does a lot of work to handle keywords args and star args, free variables, generators, etc. The inlined version simply allocates the frame and copies the arguments values into the frame. The optimization gets a little help from compile.c which adds a CO_NOFREE flag to code objects that don't have free variables or cell variables. This change allows fast_function() to get into the fast path with fewer tests. I measure a couple of percent speedup in pystone with this change, but there's surely more that can be done.
* Repair fill-paragraph damage.Michael W. Hudson2002-07-301-8/+9
| | | | | Clarify LLTRACE description. It was introduced in 1992, revision 2.20 of ceval.c, well before Python 1.0!
* add description of LLTRACE.Michael W. Hudson2002-07-301-6/+18
|
* Replace rare tabs with 4 spaces, assuming that's what was intended.Guido van Rossum2002-07-111-7/+7
|
* Noted the releases in which COUNT_ALLOCS can blow up.Tim Peters2002-07-111-0/+1
|
* Recorded the introduction release for each gimmick, as best I was able toTim Peters2002-07-111-10/+18
| | | | | reconstruct that info. Filled out some sketchy explanations of pragmatics.
* Some clarifications.Tim Peters2002-07-111-3/+9
|
* Documented PYMALLOC_DEBUG. This completes primary coverage of all theTim Peters2002-07-101-0/+52
| | | | | "special builds" I ever use. If you use others, document them here, or don't be surprised if I rip out the code for them <0.5 wink>.
* Clarified sys.getobjects() pragmatics.Tim Peters2002-07-101-6/+11
|
* Typo repair.Tim Peters2002-07-091-1/+1
|
* Moved COUNT_ALLOCS down and finished writing its description.Tim Peters2002-07-091-6/+45
|
* Checkin comment.Tim Peters2002-07-091-1/+2
|
* New file to try to document the "special build" preprocessor symbols.Tim Peters2002-07-091-0/+76
Incomplete. Add to it! Once it settles down, it would make a nice appendix in the real docs.