Some of the changes to Python's build process and to the C API are:
- Three new convenience macros were added for common return
values from extension functions: Py_RETURN_NONE,
Py_RETURN_TRUE, and Py_RETURN_FALSE.
(Contributed by Brett Cannon.)
- Another new macro, Py_CLEAR(obj),
decreases the reference count of obj and sets obj to the
null pointer. (Contributed by Jim Fulton.)
- A new function, PyTuple_Pack(N, obj1,
obj2, ..., objN), constructs tuples from a variable
length argument list of Python objects. (Contributed by Raymond Hettinger.)
- A new function, PyDict_Contains(d, k),
implements fast dictionary lookups without masking exceptions raised
during the look-up process. (Contributed by Raymond Hettinger.)
- The Py_IS_NAN(X) macro returns 1 if
its float or double argument X is a NaN.
(Contributed by Tim Peters.)
- C code can avoid unnecessary locking by using the new
PyEval_ThreadsInitialized() function to tell
if any thread operations have been performed. If this function
returns false, no lock operations are needed.
(Contributed by Nick Coghlan.)
- A new function, PyArg_VaParseTupleAndKeywords(),
is the same as PyArg_ParseTupleAndKeywords() but takes a
va_list instead of a number of arguments.
(Contributed by Greg Chapman.)
- A new method flag, METH_COEXISTS, allows a function
defined in slots to co-exist with a PyCFunction having the
same name. This can halve the access time for a method such as
set.__contains__(). (Contributed by Raymond Hettinger.)
- Python can now be built with additional profiling for the
interpreter itself, intended as an aid to people developing the
Python core. Providing ---enable-profiling to the
configure script will let you profile the interpreter with
gprof, and providing the ---with-tsc
switch enables profiling using the Pentium's Time-Stamp-Counter
register. Note that the ---with-tsc switch is slightly
misnamed, because the profiling feature also works on the PowerPC
platform, though that processor architecture doesn't call that
register ``the TSC register''. (Contributed by Jeremy Hylton.)
- The tracebackobject type has been renamed to PyTracebackObject.
- The Windows port now builds under MSVC++ 7.1 as well as version 6.
(Contributed by Martin von Loewis.)
See About this document... for information on suggesting changes.
Document provided by Web Master Resources and hosted at Speedy Domain Registration Company |