From 9f4c3e59f0644c95605f2bdea4821453684054c0 Mon Sep 17 00:00:00 2001 From: Donghee Na Date: Sun, 8 Nov 2026 23:31:26 +0900 Subject: [PATCH 1/2] Prepare 2.11.0 release --- doc/changelog.rst | 25 ++++++++++++++++++++++++- doc/conf.py | 2 +- pyperf/__init__.py | 2 +- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/doc/changelog.rst b/doc/changelog.rst index 753992cf..fe8e2f6c 100644 --- a/doc/changelog.rst +++ b/doc/changelog.rst @@ -1,12 +1,35 @@ Changelog ========= -Version 2.11.0 (2026-XX-XX) +Version 2.11.0 (2026-11-08) --------------------------- * Feature: Add ``--in-process`` option to run benchmarks in the current process. This is useful when you cannot spawn child processes, such as on WASM environments. Patch by Gyeongjae Choi. +* Feature: ``--in-process`` now also sets the CPU affinity and the process + priority, like the regular worker processes. + Patch by Victor Stinner. +* Feature: Add a new ``tachyon`` hook to profile benchmarks with the Tachyon + sampling profiler of Python 3.15 (``--hook tachyon``). + Patch by Maurycy Pietrzak. +* Feature: Hooks can now be registered from code with the new ``hooks`` + parameter of :class:`Runner`. + Patch by Sergey Miryanov. +* Feature: Add :meth:`Runner.is_worker` to guard code which processes + benchmark results in the main process. + Patch by joo00der. +* Feature: Add ``cpu_quota`` metadata: the Linux cgroup CPU bandwidth limit of + the process (ex: ``docker run --cpus=2``). + Patch by Manu Nicholas Jacob. +* Bugfix: Allow a ``mem_max_rss`` metadata value of zero. + Patch by Samartha. +* Bugfix: ``psutil`` is now optional on the Emscripten platform. + Patch by Gyeongjae Choi. +* Optimization: ``format_number()`` and ``_common_metadata()`` are faster. + Patch by Deban Kumar Sahu. +* Maintenance: ``pyperf`` now requires Python 3.11 or higher. + Patch by Hugo van Kemenade. Version 2.10.0 (2026-02-07) --------------------------- diff --git a/doc/conf.py b/doc/conf.py index 9a3a0d62..e233b128 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -50,7 +50,7 @@ # built documents. # # The short X.Y version. -version = release = '2.10.0' +version = release = '2.11.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/pyperf/__init__.py b/pyperf/__init__.py index c09e6fe4..07c68aeb 100644 --- a/pyperf/__init__.py +++ b/pyperf/__init__.py @@ -1,6 +1,6 @@ from time import perf_counter -VERSION = (2, 10, 0) +VERSION = (2, 11, 0) __version__ = '.'.join(map(str, VERSION)) # Export pyperf.perf_counter for backward compatibility with pyperf 1.7 From 79307b98863691f9f5ce7d55e2f16f090a8e9d74 Mon Sep 17 00:00:00 2001 From: Donghee Na Date: Sun, 8 Nov 2026 23:36:28 +0900 Subject: [PATCH 2/2] Update --- doc/changelog.rst | 3 --- 1 file changed, 3 deletions(-) diff --git a/doc/changelog.rst b/doc/changelog.rst index fe8e2f6c..a459324f 100644 --- a/doc/changelog.rst +++ b/doc/changelog.rst @@ -7,9 +7,6 @@ Version 2.11.0 (2026-11-08) * Feature: Add ``--in-process`` option to run benchmarks in the current process. This is useful when you cannot spawn child processes, such as on WASM environments. Patch by Gyeongjae Choi. -* Feature: ``--in-process`` now also sets the CPU affinity and the process - priority, like the regular worker processes. - Patch by Victor Stinner. * Feature: Add a new ``tachyon`` hook to profile benchmarks with the Tachyon sampling profiler of Python 3.15 (``--hook tachyon``). Patch by Maurycy Pietrzak.