cpython/Misc
Jeremy Hylton 985eba53f5 Small function call optimization and special build option for call stats.
-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.
2003-02-05 23:13:00 +00:00
..
RPM Checked in Sean Reifschneider's RPM spec file and patches. Bugfix candidate. 2002-01-06 03:29:16 +00:00
ACKS - Thanks to Scott David Daniels, a subtle bug in how the zlib 2003-02-03 20:45:52 +00:00
AIX-NOTES Add some notes that got python to work on the snake farm 2003-02-02 17:10:04 +00:00
BeOS-NOTES Completely revamped BeOS notes, by Donn Cave (SF patch 411834). 2001-04-10 21:51:29 +00:00
BeOS-setup.py SF patch 568629 by Oren Tirosh: types made callable. 2002-06-14 20:41:17 +00:00
HISTORY migrate news about 2.1 and earlier releases from NEWS to HISTORY in 2002-09-17 20:55:31 +00:00
NEWS [680789] Debug with long array takes forever 2003-02-05 18:29:34 +00:00
NEWS.help Updated (2.3 OK now) 2003-01-03 03:29:58 +00:00
PURIFY.README Updated for Python 1.5, including my experiences with Purify on 1997-10-07 15:50:58 +00:00
Porting Patch #411138: Rename config.h to pyconfig.h. Closes bug #231774. 2001-07-26 13:41:06 +00:00
README Note the existence of SpecialBuilds.txt. 2002-07-11 01:01:49 +00:00
RFD Initial revision 1994-01-26 10:20:16 +00:00
SpecialBuilds.txt Small function call optimization and special build option for call stats. 2003-02-05 23:13:00 +00:00
cheatsheet Part 3 of Py2.3 update 2003-01-26 03:29:15 +00:00
find_recursionlimit.py script that reports a fairly safe recursionlimit for a specific platform 2000-08-31 19:24:17 +00:00
gdbinit PyObject_Dump() -> _PyObject_Dump() 2001-01-24 04:18:13 +00:00
indent.pro Some new files... 1994-09-14 14:06:46 +00:00
pymemcompat.h Fix grammatically inept comment. 2002-08-22 13:36:11 +00:00
python-mode.el Bernhard Herzog's paragraph and string-filling code. I've been using it for 2002-12-31 16:56:20 +00:00
python.man Document that -u puts stdin, stdout, and stderr in binary mode. 2002-08-09 13:37:31 +00:00
setuid-prog.c correct bogus instructions 'ccoment out' -> 'uncomment' 1998-09-10 20:18:09 +00:00
vgrindefs Add 'yield' as a keyword 2001-08-06 17:42:53 +00:00

README

Python Misc subdirectory
========================

This directory contains files that wouldn't fit in elsewhere.  Some
documents are only of historic importance.

Files found here
----------------

ACKS		Acknowledgements
AIX-NOTES	Notes for building Python on AIX
BeOS-NOTES	Notes for building on BeOS
BeOS-setup.py	setup.py replacement for BeOS, see BeOS-NOTES
cheatsheet	Quick summary of Python by Ken Manheimer
find_recursionlimit.py  Script to find a value for sys.maxrecursionlimit
gdbinit		Handy stuff to put in your .gdbinit file, if you use gdb
HISTORY		News from previous releases -- oldest last
HPUX-NOTES	Notes about dynamic loading under HP-UX
indent.pro	GNU indent profile approximating my C style
NEWS		News for this release (for some meaning of "this")
Porting		Mini-FAQ on porting to new platforms
PURIFY.README	Information for Purify users
python.man	UNIX man page for the python interpreter
python-mode.el	Emacs mode for editing Python programs
README		The file you're reading now
RFD		Request For Discussion about a Python newsgroup
RPM		(Old) tools to build RPMs
SpecialBuilds.txt     Describes extra symbols you can set for debug builds
setuid-prog.c	C helper program for set-uid Python scripts
vgrindefs	Python configuration for vgrind (a generic pretty printer)