Add various items
This commit is contained in:
parent
82eb5902ce
commit
7706957f59
|
@ -113,7 +113,13 @@ Some smaller changes made to the core Python language are:
|
|||
Optimizations
|
||||
-------------
|
||||
|
||||
A few performance enhancements have been added:
|
||||
Several performance enhancements have been added:
|
||||
|
||||
.. * A new :program:`configure` option, :option:`--with-computed-gotos`,
|
||||
compiles the main bytecode interpreter loop using a new dispatch
|
||||
mechanism that gives speedups of up to 20%, depending on the system
|
||||
and benchmark. The new mechanism is only supported on certain
|
||||
compilers, such as gcc, SunPro, and icc.
|
||||
|
||||
* The garbage collector now performs better when many objects are
|
||||
being allocated without deallocating any. A full garbage collection
|
||||
|
@ -158,7 +164,7 @@ A few performance enhancements have been added:
|
|||
(Contributed by Mark Dickinson; :issue:`4258`.)
|
||||
|
||||
Another set of changes made long objects a few bytes smaller: 2 bytes
|
||||
smaller on 32-bit systems and 6 bytes on 64-bit. (:
|
||||
smaller on 32-bit systems and 6 bytes on 64-bit.
|
||||
(Contributed by Mark Dickinson; :issue:`5260`.)
|
||||
|
||||
* The division algorithm for long integers has been made faster
|
||||
|
@ -168,6 +174,10 @@ A few performance enhancements have been added:
|
|||
integer divisions and modulo operations.
|
||||
(Contributed by Mark Dickinson; :issue:`5512`.)
|
||||
|
||||
* List comprehensions with an ``if`` condition are compiled into
|
||||
faster bytecode. (Patch by Antoine Pitrou, back-ported to 2.7
|
||||
by Jeffrey Yasskin; :issue:`4715`.)
|
||||
|
||||
.. ======================================================================
|
||||
|
||||
New, Improved, and Deprecated Modules
|
||||
|
@ -179,12 +189,6 @@ changes, sorted alphabetically by module name. Consult the
|
|||
:file:`Misc/NEWS` file in the source tree for a more complete list of
|
||||
changes, or look through the Subversion logs for all the details.
|
||||
|
||||
* It is no longer mandatory to store clear-text passwords in the
|
||||
:file:`.pypirc` file when registering and uploading packages to PyPI. As long
|
||||
as the username is present in that file, the :mod:`distutils` package will
|
||||
prompt for the password if not present. (Added by Tarek Ziade,
|
||||
with the initial contribution by Nathan Van Gheem; :issue:`4394`.)
|
||||
|
||||
* The :mod:`bz2` module's :class:`BZ2File` now supports the context
|
||||
management protocol, so you can write ``with bz2.BZ2File(...) as f: ...``.
|
||||
(Contributed by Hagen Fuerstenau; :issue:`3860`.)
|
||||
|
@ -224,7 +228,24 @@ changes, or look through the Subversion logs for all the details.
|
|||
Contributed by Raymond Hettinger; :issue:`1696199`.
|
||||
|
||||
* In Distutils, :func:`distutils.sdist.add_defaults` now uses
|
||||
*package_dir* and *data_files* to feed MANIFEST.
|
||||
*package_dir* and *data_files* to create the MANIFEST file.
|
||||
|
||||
It is no longer mandatory to store clear-text passwords in the
|
||||
:file:`.pypirc` file when registering and uploading packages to PyPI. As long
|
||||
as the username is present in that file, the :mod:`distutils` package will
|
||||
prompt for the password if not present. (Added by Tarek Ziade,
|
||||
with the initial contribution by Nathan Van Gheem; :issue:`4394`.)
|
||||
|
||||
* New method: the :class:`Decimal` class gained a
|
||||
:meth:`from_float` class method that performs an exact conversion
|
||||
of a floating-point number to a :class:`Decimal`.
|
||||
Note that this is an **exact** conversion that strives for the
|
||||
closest decimal approximation to the floating-point representation's value;
|
||||
the resulting decimal value will therefore still include the inaccuracy,
|
||||
if any.
|
||||
For example, ``Decimal.from_float(0.1)`` returns
|
||||
``Decimal('0.1000000000000000055511151231257827021181583404541015625')``.
|
||||
(Implemented by Raymond Hettinger; :issue:`4796`.)
|
||||
|
||||
* A new function in the :mod:`gc` module, :func:`is_tracked`, returns
|
||||
True if a given instance is tracked by the garbage collector, False
|
||||
|
@ -233,6 +254,9 @@ changes, or look through the Subversion logs for all the details.
|
|||
* The :mod:`gzip` module's :class:`GzipFile` now supports the context
|
||||
management protocol, so you can write ``with gzip.GzipFile(...) as f: ...``.
|
||||
(Contributed by Hagen Fuerstenau; :issue:`3860`.)
|
||||
It's now possible to override the modification time
|
||||
recorded in a gzipped file by providing an optional timestamp to
|
||||
the constructor. (Contributed by Jacques Frechet; :issue:`4272`.)
|
||||
|
||||
* The :class:`io.FileIO` class now raises an :exc:`OSError` when passed
|
||||
an invalid file descriptor. (Implemented by Benjamin Peterson;
|
||||
|
@ -263,6 +287,11 @@ changes, or look through the Subversion logs for all the details.
|
|||
floats or :class:`Decimal` instances. (Implemented by Raymond
|
||||
Hettinger; :issue:`5032`.)
|
||||
|
||||
:func:`itertools.combinations` and :func:`itertools.product` were
|
||||
previously raising :exc:`ValueError` for values of *r* larger than
|
||||
the input iterable. This was deemed a specification error, so they
|
||||
now return an empty iterator. (Fixed by Raymond Hettinger; :issue:`4816`.)
|
||||
|
||||
* The :mod:`json` module was upgraded to version 2.0.9 of the
|
||||
simplejson package, which includes a C extension that makes
|
||||
encoding and decoding faster.
|
||||
|
@ -351,6 +380,11 @@ Changes to Python's build process and to the C API include:
|
|||
is particularly useful for asynchronous IO operations.
|
||||
(Contributed by Kristjan Valur Jonsson; :issue:`4293`.)
|
||||
|
||||
* The :program:`configure` script now checks for floating-point rounding bugs
|
||||
on certain 32-bit Intel chips and defines a :cmacro:`X87_DOUBLE_ROUNDING`
|
||||
preprocessor definition. No code currently uses this definition,
|
||||
but it's available if anyone wishes to use it.
|
||||
(Added by Mark Dickinson; :issue:`2937`.)
|
||||
|
||||
.. ======================================================================
|
||||
|
||||
|
@ -373,10 +407,22 @@ Port-Specific Changes: Windows
|
|||
Port-Specific Changes: Mac OS X
|
||||
-----------------------------------
|
||||
|
||||
* The ``/Library/Python/2.7/site-packages`` is now appended to
|
||||
``sys.path``, in order to share added packages between the system
|
||||
installation and a user-installed copy of the same version.
|
||||
(Changed by Ronald Oussoren; :issue:`4865`.)
|
||||
|
||||
|
||||
Other Changes and Fixes
|
||||
=======================
|
||||
|
||||
* When importing a module from a :file:`.pyc` or :file:`.pyo` file
|
||||
with an existing :file:`.py` counterpart, the :attr:`co_filename`
|
||||
attributes of all code objects if the original filename is obsolete,
|
||||
which can happen if the file has been renamed, moved, or is accessed
|
||||
through different paths. (Patch by Ziga Seilnacht and Jean-Paul
|
||||
Calderone; :issue:`1180193`.)
|
||||
|
||||
* The :file:`regrtest.py` script now takes a :option:`--randseed=`
|
||||
switch that takes an integer that will be used as the random seed
|
||||
for the :option:`-r` option that executes tests in random order.
|
||||
|
|
Loading…
Reference in New Issue