Two benchmark scripts, iobench and ccbench, were
added to the Tools directory. iobench measures the
speed of the built-in file I/O objects returned by open()
while performing various operations, and ccbench is a
concurrency benchmark that tries to measure computing throughput,
thread switching latency, and IO processing bandwidth when
performing several tasks using a varying number of threads.
The Tools/i18n/msgfmt.py script now understands plural
forms in .po files. (Fixed by Martin von Löwis;
:issue:`5464`.)
When importing a module from a .pyc or .pyo file
with an existing .py counterpart, the co_filename
attributes of the resulting code objects are overwritten when the
original filename is obsolete. This 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 regrtest.py script now takes a --randseed=
switch that takes an integer that will be used as the random seed
for the -r option that executes tests in random order.
The -r option also reports the seed that was used
(Added by Collin Winter.)
Another regrtest.py switch is -j, which
takes an integer specifying how many tests run in parallel. This
allows reducing the total runtime on multi-core machines.
This option is compatible with several other options, including the
-R switch which is known to produce long runtimes.
(Added by Antoine Pitrou, :issue:`6152`.) This can also be used
with a new -F switch that runs selected tests in a loop
until they fail. (Added by Antoine Pitrou; :issue:`7312`.)
When executed as a script, the py_compile.py module now
accepts '-' as an argument, which will read standard input for
the list of filenames to be compiled. (Contributed by Piotr
Ożarowski; :issue:`8233`.)