Los cambios del proceso de compilación y el API de C incluyen:
- Se han añadido tres nuevas macros de servicio para valores
de retorno comunes desde las funciones de extensión:
Py_RETURN_NONE,
Py_RETURN_TRUE y Py_RETURN_FALSE.
(Contribución de Brett Cannon.)
- Otra macro nueva, Py_CLEAR(obj),
decrementa la cuenta de referencias de obj y asigna a obj
el puntero a nulo. (Contribución de Jim Fulton.)
- Una nueva función, PyTuple_Pack(N, obj1,
obj2, ..., objN), construye tuplas a partir de una lista
de argumentos de logitud variable de objetos Python.
(Contribución de Raymond Hettinger.)
- Una nueva función, PyDict_Contains(d, k),
implementa búsquedas en diccionarios rápidas sin enmascarar
las excepciones ocurridas durante el proceso de la búsqueda.
(Contribución de Raymond Hettinger.)
- La macro Py_IS_NAN(X) devuelve 1
si su argumento float o double X es un NaN (no-número).
(Contribución de Tim Peters.)
- El código en C puede evitar bloqueos innecesarios utilizando
la nueva función PyEval_ThreadsInitialized() que indica
si se han realizado operaciones de multihilo. Si esta función devuelve
falso, no se necesita hacer operaciones de bloqueo.
(Contribución de Nick Coghlan.)
- La nueva función PyArg_VaParseTupleAndKeywords()
es la misma que PyArg_ParseTupleAndKeywords() pero toma
una va_list en lugar de un número de argumentos.
(Contribución de Greg Chapman.)
- Un nuevo indicador, METH_COEXISTS, permite que una
función definida con ranuras coexista con una PyCFunction
homónima, Esto puede recortar a la mitad el tiempo de acceso de un
método como set.__contains__(). (Contribución de Raymond Hettinger.)
- Python se puede compilar con perfilado adicional para el propio
intérprete, para ayudar a los desarrolladores del núcleo de Python. Si se
da la opción ---enable-profiling al guion
configure estará permitido perfilar el intérprete con
gprof, y si se da la opción ---with-tsc
se permitirá el perfilado usando el registro del Pentium Time-Stamp-Counter.
Hay que tener en cuenta que la opción ---with-tsc
tiene un nombre algo confuso, porque la capacidad de perfilado también
se aplica a la plataforma PowerPC, aunque esta arquitectura no denomina
al registro correspondiente ``TSC''. (Contribución de Jeremy Hylton.)
- Se ha renombrado el tipo tracebackobject a PyTracebackObject.
- La versión de Windows se puede compilar sobre MSVC++ 7.1 además de sobre la
versión 6.
(Contribución de Martin von Loewis.)
Consultar en Acerca de este documento... información para sugerir cambios.