From 0d51493d062c3f242df8dbf256ad6b15a48cd768 Mon Sep 17 00:00:00 2001 From: Tobias Oberstein Date: Sun, 18 Oct 2026 19:41:22 +0200 Subject: [PATCH 1/5] start new dev branch; add audit file --- .audit/oberstet_fix_1999.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .audit/oberstet_fix_1999.md diff --git a/.audit/oberstet_fix_1999.md b/.audit/oberstet_fix_1999.md new file mode 100644 index 000000000..a40c0e7dc --- /dev/null +++ b/.audit/oberstet_fix_1999.md @@ -0,0 +1,8 @@ +- [ ] I did **not** use any AI-assistance tools to help create this pull request. +- [x] I **did** use AI-assistance tools to *help* create this pull request. +- [x] I have read, understood and followed the project's AI_POLICY.md when creating code, documentation etc. for this pull request. + +Submitted by: @oberstet +Date: 2026-10-18 +Related issue(s): #1999 +Branch: oberstet:fix_1999 From 88f35a9788abd8e3a8039710ae97d374fe2c810c Mon Sep 17 00:00:00 2001 From: Tobias Oberstein Date: Sun, 18 Oct 2026 19:43:16 +0200 Subject: [PATCH 2/5] #1999: changelog - section 26.10.1, and the changes landed without an entry The never released 26.9.1 section becomes 26.10.1. Add entries for what landed since 26.7.1 without a changelog entry: #1983 (FlatBuffers runtime loaded on first use, memory-footprint page), #1937 (Windows ARM64 wheels, thanks @ndabas), #1959 (OpenSSL for cryptography on Windows x86_64), #1941 (patchelf in the PyPy ARM64 images), #1938 (dead code removed), #1943 (shared workflow recipes, publish renamed publish-release) and the aspect rollouts / .cicd bumps (#1960, #1972, #1975, #1977, #1979, #1981). Expected CI result: GREEN (docs only). Note: This work was completed with AI assistance (Claude Code). --- docs/changelog.rst | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 7da395cf2..83f21fa40 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -5,8 +5,17 @@ Changelog ========= -26.9.1 ------- +26.10.1 +------- + +**General** + +* Load the vendored FlatBuffers runtime only when a FlatBuffers message is first built or parsed, instead of on every ``import autobahn``. The runtime imports numpy whenever numpy is installed, so up to 26.7.1 every process importing autobahn also loaded numpy, including WebSocket-only users such as Django Channels applications served by Daphne. Every autobahn import now needs about 13-17 MB less memory on CPython and 18-24 MB less on PyPy, and none loads numpy. A new documentation page (``docs/memory-footprint.rst``, ``just memory-footprint``) shows the import memory footprint per release on CPython and PyPy (#1983) + +**Wheels** + +* Publish native Windows ARM64 (``win_arm64``) wheels with NVX for CPython 3.11-3.14, built on GitHub's ``windows-11-arm`` runners (PyPy publishes no Windows ARM64 interpreter); thanks to @ndabas. ``cryptography`` currently publishes no ``win_arm64`` wheel, so the build compiles it against an OpenSSL from vcpkg (#1937, #1945) +* Build ``cryptography`` against an OpenSSL from vcpkg on Windows x86_64 too: ``cryptography`` 50.0.2 publishes its Windows PyPy wheels for PyPy 8 (``pp80``) only, and the ``pypy311`` wheel build uses PyPy 7.3 (``pp73``), so pip builds it from source there (#1959) **WebSocket** @@ -23,6 +32,10 @@ Changelog * Remove the opt-in entropy depletion tests (``autobahn/test/test_rng.py``, enabled by ``AUTOBAHN_CI_ENABLE_RNG_DEPLETION_TESTS``, never run in CI): they read ``/proc/sys/kernel/random/entropy_avail``, which has been a constant 256 since Linux 5.18, and ``/dev/random`` no longer blocks since Linux 5.6, so one test passed whatever happened and the other always failed (#1278) * Build the ARM64 Linux wheels natively on GitHub's ``ubuntu-24.04-arm`` runners instead of under QEMU emulation on x86_64 runners, as zlmdb does since #183. Under emulation the builds took around 40 minutes (up to 96) and segfaulted intermittently, so each build had 9 attempts of 120 minutes; the same container images and build script are used, and a build attempt now gets 60 minutes and 3 tries (#1940) * Build the bundled ``flatc`` on all cores: ``hatch_build.py`` ran ``cmake --build`` without ``--parallel``, so ``flatc`` was compiled on one core in every wheel build, editable install and ``just test-*`` run. It now passes ``--parallel ``; an explicit ``CMAKE_BUILD_PARALLEL_LEVEL`` in the environment still wins. Measured on a 32-core host: 237 s serial, 25 s with 16 jobs. Skipping the build when ``flatc``'s inputs did not change is still open (#1985) +* Install ``patchelf`` with pip, next to ``auditwheel``, in the custom PyPy ARM64 build images: Debian's ``patchelf`` 0.14.3 is older than the 0.14.5 that current ``auditwheel repair`` requires (#1941) +* Remove dead code reported by ``ty`` (an unused ``_unique_list`` helper in both ``component.py`` modules, and an unreachable response-body block in the WebSocket server opening handshake) instead of adding it to the ignore list (#1938) +* Adopt the WAMP fleet's shared developer workflow recipes from wamp-cicd (``just where``, ``what``, ``new-branch``, ``land``, ...); the release upload recipe ``publish`` is renamed ``publish-release`` (#1943) +* Apply the fleet's shared ``python-package`` and ``way-a`` aspects (repository files kept in sync from wamp-cicd, with generated ``aspects.toml``), and bump ``.cicd`` accordingly (#1960, #1972, #1975, #1977, #1979, #1981) * Add an ``import-smoke-lowest`` CI job (``just test-imports-lowest``) that runs the import smoke test on CPython 3.11 with every direct dependency resolved to the lowest version ``pyproject.toml`` allows (``uv --resolution lowest-direct``), so stale version floors are caught. The import smoke test now also covers the Twisted and asyncio bindings, each module imported in a fresh interpreter (#1955) **asyncio** From 36d02ab6dbe844ef3b317cb3f76d13d6171a1984 Mon Sep 17 00:00:00 2001 From: Tobias Oberstein Date: Sun, 18 Oct 2026 19:44:09 +0200 Subject: [PATCH 3/5] #1999: docs - release notes for 26.6.1, 26.6.2, 26.7.1 and 26.10.1 docs/release-notes.rst stopped at 25.12.2. Add hand-written entries for 26.6.1, 26.6.2, 26.7.1 (dates from PyPI, links to the GitHub releases, which are named v26_6_1 etc.) and 26.10.1 (highlights, PyPI link). The generated parts (source build, conformance results, checksums from `just generate-release-notes`) need gh and a nightly release, and can be added from the dev PC once the release build exists. Expected CI result: GREEN (docs only). Note: This work was completed with AI assistance (Claude Code). --- docs/release-notes.rst | 117 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) diff --git a/docs/release-notes.rst b/docs/release-notes.rst index 50d61cc03..eeb9427d3 100644 --- a/docs/release-notes.rst +++ b/docs/release-notes.rst @@ -8,6 +8,123 @@ Release Notes This page provides a high-level overview of important changes in each release. For detailed technical changes, see the :ref:`changelog `. +26.10.1 +------- + +**Release Type:** Stable release + +Highlights +^^^^^^^^^^ + +* **WebSocket compression**: all four per-message compression extensions + (``permessage-deflate``, ``-bzip2``, ``-brotli``, ``-snappy``) enforce the + ``maxMessagePayloadSize`` decompression budget the same way, and invalid + compressed data fails the connection with close code 1007 + (``PayloadCorruptError``). ``permessage-brotli`` no longer fails on the second + message of a connection. New floors: ``brotli>=1.2.0`` / ``brotlicffi>=1.2.0``. + New page: :doc:`/websocket/compression`. + +* **Memory footprint**: importing autobahn no longer loads the FlatBuffers runtime + or numpy; it is loaded when a FlatBuffers message is first used. Every import + needs about 13-17 MB less on CPython and 18-24 MB less on PyPy. New page: + :ref:`memory-footprint`. + +* **CPython 3.14 / asyncio**: ``run()``, ``ApplicationRunner.run()``, + ``Component.start()`` and the asyncio WebSocket factories work when started from + synchronous code (no implicit event loop on 3.14). + +* **Windows ARM64**: native ``win_arm64`` wheels for CPython 3.11-3.14 (thanks + @ndabas). ARM64 Linux wheels are now built natively instead of under QEMU. + +* **Dependencies**: ``cbor2`` split by runtime (CPython ``>=6.1.0``, PyPy + ``==5.9.0``), ``cryptography>=50``, ``zope.interface>=6.2``. + +Release Links +^^^^^^^^^^^^^ + +* `PyPI Package `__ + +**Detailed Changes:** See :ref:`changelog` (26.10.1 section) + +26.7.1 (2026-07-15) +------------------- + +**Release Type:** Stable release (security) + +Highlights +^^^^^^^^^^ + +* **Security**: WebSocket ``maxMessagePayloadSize`` is enforced against the + uncompressed message size when per-message compression is negotiated, not against + the compressed frame length (security advisory GHSA-hxp9-w8x3-p566). Decompression + is bounded for every compression extension, and the asyncio RawSocket receive + limit is configurable, at parity with Twisted. + +* **Alpine Linux**: ``musllinux_1_2`` wheels with NVX for CPython 3.11-3.14 on + x86_64 and aarch64. + +* **Wheels**: the aarch64 CPython 3.14 wheel no longer ships the free-threaded ABI + in the ``cp314`` slot; build and release gates reject a wrong-ABI wheel. + +Release Links +^^^^^^^^^^^^^ + +* `GitHub Release `__ +* `PyPI Package `__ + +**Detailed Changes:** See :ref:`changelog` (26.7.1 section) + +26.6.2 (2026-06-19) +------------------- + +**Release Type:** Stable release (bug fix) + +Highlights +^^^^^^^^^^ + +* **WAMP Cryptosign**: fix ``import autobahn.wamp.cryptosign`` raising ``TypeError`` + on CPython 3.11-3.13 when ``nacl`` is installed (a regression in 26.6.1). An import + smoke test now covers every public submodule on all supported Pythons. + +Release Links +^^^^^^^^^^^^^ + +* `GitHub Release `__ +* `PyPI Package `__ + +**Detailed Changes:** See :ref:`changelog` (26.6.2 section) + +26.6.1 (2026-06-18) +------------------- + +**Release Type:** Stable release + +Highlights +^^^^^^^^^^ + +* **WAMP serialization**: ``py-ubjson`` is no longer a dependency; the ``ubjson`` + serializer is backed by ``bjdata`` in the optional ``serialization`` extra + (CPython only). Note: bjdata's encoding is not byte-identical to py-ubjson's. + +* **FlatBuffers**: vendored FlatBuffers v25.12.19, in sync with zlmdb 26.6.1; the + binary schemas are committed, so building from the sdist no longer runs ``flatc`` + (cross-compilation from the sdist works). + +* **RawSocket**: a failed opening handshake on Twisted (e.g. from a port scanner) + closes the connection cleanly instead of raising ``TransportLost``. + +* **Wheels**: the release fileset is symmetric across macOS arm64, Linux x86_64, + Linux aarch64 and Windows x86_64 for CPython 3.11-3.14 and PyPy 3.11 (the + aarch64 CPython 3.12 and 3.14 wheels were missing before). + +Release Links +^^^^^^^^^^^^^ + +* `GitHub Release `__ +* `PyPI Package `__ + +**Detailed Changes:** See :ref:`changelog` (26.6.1 section) + 25.12.2 (2025-12-15) -------------------- From c725baaa00952093ddda05cec1526da8278630a7 Mon Sep 17 00:00:00 2001 From: Tobias Oberstein Date: Sun, 18 Oct 2026 19:44:13 +0200 Subject: [PATCH 4/5] #1999: version 26.10.1 for the stable release (just prep-release) `just prep-release` strips the .dev1 suffix from both version files (pyproject.toml, src/autobahn/_version.py): 26.10.1.dev1 -> 26.10.1. autobahn does not track uv.lock, so there is no lock to refresh. Expected CI result: GREEN - all jobs; the wheels are versioned 26.10.1. Note: This work was completed with AI assistance (Claude Code). --- pyproject.toml | 2 +- src/autobahn/_version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 3cf056275..7d4987c18 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "autobahn" -version = "26.10.1.dev1" +version = "26.10.1" description = "WebSocket client & server library, WAMP real-time framework" readme = "README.md" requires-python = ">=3.11" diff --git a/src/autobahn/_version.py b/src/autobahn/_version.py index 9bd75af4c..9196f4716 100644 --- a/src/autobahn/_version.py +++ b/src/autobahn/_version.py @@ -24,6 +24,6 @@ # ############################################################################### -__version__ = "26.10.1.dev1" +__version__ = "26.10.1" __build__ = "00000000-0000000" From 01bbf4d21eb231f04974a37e5ca808040093f13b Mon Sep 17 00:00:00 2001 From: Tobias Oberstein Date: Sun, 18 Oct 2026 19:51:44 +0200 Subject: [PATCH 5/5] #1999: docs - memory footprint tables for 26.10.1, re-measured The tables showed a column `fix_1983` (the #1983 branch, autobahn 26.10.1.dev1). Re-measured with `scripts/memory-footprint/run.sh 26.10.1` on this branch (autobahn 26.10.1), cpy314 (CPython 3.14.7) and pypy311, all columns in one run, and re-rendered with render.py; the fix_1983 result files are removed. The 26.10.1 values match the fix_1983 ones to within 0.1-0.2 MB. Page text: the findings use the new values (daphne 64.8 -> 51.8 MB on CPython; WebSocket/WAMP rows 1.2-1.6 MB above 25.10.2 on CPython, 0.5-0.6 MB on PyPy); the drop per autobahn row is unchanged (about 13-17 MB on CPython, 18-24 MB on PyPy). The crossbar venvs now resolve zlmdb 26.10.1 from PyPI (listed in the versions block). Expected CI result: GREEN (docs only). Note: This work was completed with AI assistance (Claude Code). --- docs/memory-footprint.rst | 11 +- docs/memory-footprint/cpy314-versions.inc | 6 +- docs/memory-footprint/cpy314.inc | 68 +++---- docs/memory-footprint/pypy311-versions.inc | 4 +- docs/memory-footprint/pypy311.inc | 94 ++++----- .../results/cpy314-25.10.2.json | 176 ++++++++--------- ...sbar.json => cpy314-26.10.1-crossbar.json} | 18 +- ...y314-fix_1983.json => cpy314-26.10.1.json} | 178 ++++++++--------- .../results/cpy314-26.7.1-crossbar.json | 14 +- .../results/cpy314-26.7.1.json | 174 ++++++++--------- .../results/pypy311-25.10.2.json | 180 ++++++++--------- ...bar.json => pypy311-26.10.1-crossbar.json} | 18 +- ...311-fix_1983.json => pypy311-26.10.1.json} | 184 +++++++++--------- .../results/pypy311-26.7.1-crossbar.json | 12 +- .../results/pypy311-26.7.1.json | 180 ++++++++--------- 15 files changed, 659 insertions(+), 658 deletions(-) rename scripts/memory-footprint/results/{cpy314-fix_1983-crossbar.json => cpy314-26.10.1-crossbar.json} (79%) rename scripts/memory-footprint/results/{cpy314-fix_1983.json => cpy314-26.10.1.json} (70%) rename scripts/memory-footprint/results/{pypy311-fix_1983-crossbar.json => pypy311-26.10.1-crossbar.json} (80%) rename scripts/memory-footprint/results/{pypy311-fix_1983.json => pypy311-26.10.1.json} (69%) diff --git a/docs/memory-footprint.rst b/docs/memory-footprint.rst index 53b322e68..1229747a9 100644 --- a/docs/memory-footprint.rst +++ b/docs/memory-footprint.rst @@ -57,7 +57,8 @@ so for a child of a Python process it never drops below that parent's size.) hence "n/a". * Columns: **25.10.2** is the last release with FlatBuffers as an optional dependency, measured *without* that extra (as Daphne installs it). **26.7.1** is the - latest release. The last column is the current development version. + last release that loaded the FlatBuffers runtime on import. **26.10.1** loads it on + first use (#1983). .. |crossbar_version| replace:: 26.7.1 @@ -82,12 +83,12 @@ venvs use numpy 2.4.x, the last numpy release with PyPy wheels. Findings -------- -* **This change:** every row that imports autobahn drops by about 13-17 MB on +* **26.10.1:** every row that imports autobahn drops by about 13-17 MB on CPython, and by about 18-24 MB on PyPy, and none of them loads numpy any more. For - example, ``from daphne.server import Server`` drops from 64.6 MB to 51.6 MB on CPython + example, ``from daphne.server import Server`` drops from 64.8 MB to 51.8 MB on CPython 3.14, and ``import autobahn`` alone is back to the size of the bare interpreter. -* **Compared with 25.10.2:** the WebSocket and WAMP rows remain about 1.3-1.6 MB above - 25.10.2 on CPython (about 0.4-0.8 MB on PyPy). In 25.10.2 without the ``serialization`` +* **Compared with 25.10.2:** the WebSocket and WAMP rows remain about 1.2-1.6 MB above + 25.10.2 on CPython (about 0.5-0.6 MB on PyPy). In 25.10.2 without the ``serialization`` extra, cbor2 was not installed and the WAMP message module skipped that import. Since 26.x, cbor2 is a regular dependency. * **WebSocket only:** with Twisted, most of what remains is Twisted itself; with diff --git a/docs/memory-footprint/cpy314-versions.inc b/docs/memory-footprint/cpy314-versions.inc index 5a5f7168b..23ce673b0 100644 --- a/docs/memory-footprint/cpy314-versions.inc +++ b/docs/memory-footprint/cpy314-versions.inc @@ -1,7 +1,7 @@ * **25.10.2** (venv): autobahn 25.10.2, txaio 26.6.1, twisted 26.4.0, cryptography 50.0.2, numpy 2.5.4, daphne 4.2.3 * **26.7.1** (venv): autobahn 26.7.1, txaio 26.6.1, twisted 26.4.0, cryptography 50.0.2, numpy 2.5.4, cbor2 6.1.5, daphne 4.2.3 -* **26.7.1** (crossbar venv): autobahn 26.7.1, txaio 26.6.1, twisted 26.4.0, cryptography 50.0.2, numpy 2.5.4, cbor2 6.1.5, crossbar 26.7.1, zlmdb 26.7.1 -* **fix_1983** (venv): autobahn 26.10.1.dev1, txaio 26.6.1, twisted 26.4.0, cryptography 50.0.2, numpy 2.5.4, cbor2 6.1.5, daphne 4.2.3 -* **fix_1983** (crossbar venv): autobahn 26.10.1.dev1, txaio 26.6.1, twisted 26.4.0, cryptography 50.0.2, numpy 2.5.4, cbor2 6.1.5, crossbar 26.7.1, zlmdb 26.7.1 +* **26.7.1** (crossbar venv): autobahn 26.7.1, txaio 26.6.1, twisted 26.4.0, cryptography 50.0.2, numpy 2.5.4, cbor2 6.1.5, crossbar 26.7.1, zlmdb 26.10.1 +* **26.10.1** (venv): autobahn 26.10.1, txaio 26.6.1, twisted 26.4.0, cryptography 50.0.2, numpy 2.5.4, cbor2 6.1.5, daphne 4.2.3 +* **26.10.1** (crossbar venv): autobahn 26.10.1, txaio 26.6.1, twisted 26.4.0, cryptography 50.0.2, numpy 2.5.4, cbor2 6.1.5, crossbar 26.7.1, zlmdb 26.10.1 Interpreter: ``CPython 3.14.7`` (3.14.7 (main, Sep 1 2026, 14:18:09) [Clang 22.1.3 ]); Linux 6.12.95+deb12-amd64 x86_64, median of 5 runs. diff --git a/docs/memory-footprint/cpy314.inc b/docs/memory-footprint/cpy314.inc index 56dfac0a4..6bea2729b 100644 --- a/docs/memory-footprint/cpy314.inc +++ b/docs/memory-footprint/cpy314.inc @@ -6,84 +6,84 @@ - import - 25.10.2 - 26.7.1 - - fix_1983 + - 26.10.1 * - interpreter - ``bare interpreter`` - - 11.9 MB - - 11.9 MB + - 12.0 MB + - 12.0 MB - 12.0 MB * - cryptography - ``import cryptography`` - 12.0 MB - 12.0 MB - - 11.9 MB + - 12.1 MB * - - ``from cryptography.hazmat.primitives import hashes`` + - 20.0 MB - 19.9 MB - 19.9 MB - - 19.8 MB * - numpy - ``import numpy`` - - 28.4 MB † - - 28.4 MB † - - 28.4 MB † + - 28.5 MB † + - 28.5 MB † + - 28.6 MB † * - asyncio - ``import asyncio`` - - 18.1 MB + - 18.2 MB - 18.2 MB - 18.2 MB * - twisted - ``from twisted.internet import reactor`` - - 43.3 MB - - 43.3 MB - - 43.4 MB + - 43.5 MB + - 43.5 MB + - 43.5 MB * - txaio - ``import txaio`` - - 12.0 MB + - 12.1 MB - 12.1 MB - 12.1 MB * - - ``import txaio; txaio.use_asyncio()`` - 18.3 MB - 18.3 MB - - 18.3 MB + - 18.4 MB * - - ``import txaio; txaio.use_twisted()`` - - 26.5 MB - - 26.5 MB - - 26.5 MB + - 26.6 MB + - 26.6 MB + - 26.6 MB * - autobahn - ``import autobahn`` - 12.1 MB - - 28.8 MB † - - 12.0 MB + - 28.9 MB † + - 12.1 MB * - - ``txaio.use_asyncio(); import autobahn.wamp`` - - 31.9 MB - - 47.6 MB † - - 33.2 MB + - 32.0 MB + - 47.8 MB † + - 33.3 MB * - - ``txaio.use_twisted(); import autobahn.wamp`` - - 38.4 MB + - 38.6 MB - 52.9 MB † - - 39.8 MB + - 39.9 MB * - - ``import autobahn.asyncio.websocket`` - 36.3 MB - - 51.1 MB † - - 37.8 MB + - 51.2 MB † + - 38.0 MB * - - ``import autobahn.twisted.websocket`` - - 48.9 MB - - 63.2 MB † - - 50.3 MB + - 49.0 MB + - 63.3 MB † + - 50.4 MB * - daphne - ``from daphne.server import Server`` - - 50.3 MB - - 64.6 MB † - - 51.6 MB + - 50.4 MB + - 64.8 MB † + - 51.8 MB * - crossbar - ``from crossbar.edge.worker.router import ExtRouterController`` - n/a - - 144.7 MB † - - 144.7 MB † + - 145.2 MB † + - 145.2 MB † diff --git a/docs/memory-footprint/pypy311-versions.inc b/docs/memory-footprint/pypy311-versions.inc index d68ae3d0d..51271648d 100644 --- a/docs/memory-footprint/pypy311-versions.inc +++ b/docs/memory-footprint/pypy311-versions.inc @@ -1,7 +1,7 @@ * **25.10.2** (venv): autobahn 25.10.2, txaio 26.6.1, twisted 26.4.0, cryptography 50.0.2, numpy 2.4.6, daphne 4.2.3 * **26.7.1** (venv): autobahn 26.7.1, txaio 26.6.1, twisted 26.4.0, cryptography 50.0.2, numpy 2.4.6, cbor2 6.1.5, daphne 4.2.3 * **26.7.1** (crossbar venv): autobahn 26.7.1, txaio 26.6.1, twisted 26.4.0, cryptography 50.0.2, numpy 2.4.6, cbor2 6.1.5, crossbar 26.7.1, zlmdb 26.7.1 -* **fix_1983** (venv): autobahn 26.10.1.dev1, txaio 26.6.1, twisted 26.4.0, cryptography 50.0.2, numpy 2.4.6, cbor2 5.9.0, daphne 4.2.3 -* **fix_1983** (crossbar venv): autobahn 26.10.1.dev1, txaio 26.6.1, twisted 26.4.0, cryptography 50.0.2, numpy 2.4.6, cbor2 5.9.0, crossbar 26.7.1, zlmdb 26.7.1 +* **26.10.1** (venv): autobahn 26.10.1, txaio 26.6.1, twisted 26.4.0, cryptography 50.0.2, numpy 2.4.6, cbor2 5.9.0, daphne 4.2.3 +* **26.10.1** (crossbar venv): autobahn 26.10.1, txaio 26.6.1, twisted 26.4.0, cryptography 50.0.2, numpy 2.4.6, cbor2 5.9.0, crossbar 26.7.1, zlmdb 26.10.1 Interpreter: ``PyPy 3.11.15`` (3.11.15 (194f9f44b505, May 25 2026, 19:34:11) [PyPy 7.3.23 with GCC 10.2.1 20210130 (Red Hat 10.2.1-11)]); Linux 6.12.95+deb12-amd64 x86_64, median of 5 runs. diff --git a/docs/memory-footprint/pypy311.inc b/docs/memory-footprint/pypy311.inc index 8cd895aba..7ec36522b 100644 --- a/docs/memory-footprint/pypy311.inc +++ b/docs/memory-footprint/pypy311.inc @@ -6,84 +6,84 @@ - import - 25.10.2 - 26.7.1 - - fix_1983 + - 26.10.1 * - interpreter - ``bare interpreter`` - - 64.4 MB - - 64.4 MB - - 64.4 MB + - 65.0 MB + - 64.9 MB + - 64.9 MB * - cryptography - ``import cryptography`` - - 64.3 MB - - 64.4 MB - - 64.4 MB + - 64.9 MB + - 65.0 MB + - 65.0 MB * - - ``from cryptography.hazmat.primitives import hashes`` - - 72.1 MB - - 72.0 MB - - 72.0 MB + - 72.5 MB + - 72.7 MB + - 72.7 MB * - numpy - ``import numpy`` - - 88.1 MB † - - 88.1 MB † - - 88.2 MB † + - 88.9 MB † + - 88.8 MB † + - 88.8 MB † * - asyncio - ``import asyncio`` - - 78.7 MB - - 78.9 MB - - 78.8 MB + - 79.5 MB + - 79.5 MB + - 79.4 MB * - twisted - ``from twisted.internet import reactor`` - - 106.1 MB - - 106.1 MB - - 106.1 MB + - 106.8 MB + - 106.8 MB + - 106.8 MB * - txaio - ``import txaio`` - - 64.4 MB - - 64.4 MB - - 64.2 MB + - 65.0 MB + - 65.0 MB + - 65.0 MB * - - ``import txaio; txaio.use_asyncio()`` - - 79.0 MB - - 79.0 MB - - 79.1 MB + - 79.8 MB + - 79.7 MB + - 79.8 MB * - - ``import txaio; txaio.use_twisted()`` - - 88.0 MB - - 87.9 MB - - 88.0 MB + - 88.7 MB + - 88.7 MB + - 88.8 MB * - autobahn - ``import autobahn`` - - 64.4 MB - - 87.9 MB † - - 64.4 MB + - 64.9 MB + - 88.7 MB † + - 65.0 MB * - - ``txaio.use_asyncio(); import autobahn.wamp`` - - 93.0 MB - - 112.4 MB † - - 93.7 MB + - 93.8 MB + - 113.0 MB † + - 94.4 MB * - - ``txaio.use_twisted(); import autobahn.wamp`` - - 100.1 MB - - 118.8 MB † - - 100.5 MB + - 100.8 MB + - 119.7 MB † + - 101.3 MB * - - ``import autobahn.asyncio.websocket`` - - 98.4 MB - - 117.2 MB † - - 99.0 MB + - 99.1 MB + - 117.9 MB † + - 99.8 MB * - - ``import autobahn.twisted.websocket`` - - 113.2 MB - - 133.5 MB † - - 113.8 MB + - 114.0 MB + - 134.4 MB † + - 114.6 MB * - daphne - ``from daphne.server import Server`` - - 114.8 MB - - 135.8 MB † - 115.6 MB + - 136.5 MB † + - 116.3 MB * - crossbar - ``from crossbar.edge.worker.router import ExtRouterController`` - n/a - - 239.5 MB † - - 224.1 MB † + - 240.6 MB † + - 216.5 MB † diff --git a/scripts/memory-footprint/results/cpy314-25.10.2.json b/scripts/memory-footprint/results/cpy314-25.10.2.json index 1d7ba2522..054a4db01 100644 --- a/scripts/memory-footprint/results/cpy314-25.10.2.json +++ b/scripts/memory-footprint/results/cpy314-25.10.2.json @@ -25,13 +25,13 @@ "label": "bare interpreter", "code": "pass", "available": true, - "maxrss_kib": 12216, + "maxrss_kib": 12260, "samples_kib": [ - 12212, - 12208, - 12216, - 12300, - 12304 + 12248, + 12260, + 12348, + 12260, + 12312 ], "numpy": false }, @@ -40,13 +40,13 @@ "label": "import cryptography", "code": "import cryptography", "available": true, - "maxrss_kib": 12256, + "maxrss_kib": 12288, "samples_kib": [ - 12212, - 12304, - 12188, - 12256, - 12304 + 12356, + 12312, + 12268, + 12240, + 12288 ], "numpy": false }, @@ -55,13 +55,13 @@ "label": "from cryptography.hazmat.primitives import hashes", "code": "from cryptography.hazmat.primitives import hashes", "available": true, - "maxrss_kib": 20352, + "maxrss_kib": 20448, "samples_kib": [ - 20292, - 20260, - 20352, - 20380, - 20380 + 20404, + 20508, + 20444, + 20448, + 20448 ], "numpy": false }, @@ -70,13 +70,13 @@ "label": "import numpy", "code": "import numpy", "available": true, - "maxrss_kib": 29048, + "maxrss_kib": 29228, "samples_kib": [ - 29092, - 29044, - 29232, - 29044, - 29048 + 29228, + 29264, + 29164, + 29248, + 29228 ], "numpy": true }, @@ -85,13 +85,13 @@ "label": "import asyncio", "code": "import asyncio", "available": true, - "maxrss_kib": 18552, + "maxrss_kib": 18652, "samples_kib": [ - 18552, - 18536, - 18604, - 18540, - 18636 + 18668, + 18644, + 18648, + 18672, + 18652 ], "numpy": false }, @@ -100,13 +100,13 @@ "label": "from twisted.internet import reactor", "code": "from twisted.internet import reactor", "available": true, - "maxrss_kib": 44380, + "maxrss_kib": 44532, "samples_kib": [ + 44556, 44484, - 44380, - 44400, - 44356, - 44356 + 44528, + 44532, + 44552 ], "numpy": false }, @@ -115,13 +115,13 @@ "label": "import txaio", "code": "import txaio", "available": true, - "maxrss_kib": 12336, + "maxrss_kib": 12384, "samples_kib": [ - 12332, - 12336, - 12296, + 12404, + 12328, 12384, - 12376 + 12344, + 12396 ], "numpy": false }, @@ -130,13 +130,13 @@ "label": "import txaio; txaio.use_asyncio()", "code": "import txaio; txaio.use_asyncio()", "available": true, - "maxrss_kib": 18708, + "maxrss_kib": 18780, "samples_kib": [ - 18744, - 18688, - 18752, - 18708, - 18668 + 18780, + 18716, + 18832, + 18804, + 18724 ], "numpy": false }, @@ -145,13 +145,13 @@ "label": "import txaio; txaio.use_twisted()", "code": "import txaio; txaio.use_twisted()", "available": true, - "maxrss_kib": 27104, + "maxrss_kib": 27236, "samples_kib": [ - 27044, - 27068, - 27104, - 27132, - 27112 + 27168, + 27292, + 27196, + 27240, + 27236 ], "numpy": false }, @@ -160,13 +160,13 @@ "label": "import autobahn", "code": "import autobahn", "available": true, - "maxrss_kib": 12340, + "maxrss_kib": 12400, "samples_kib": [ - 12392, - 12340, - 12276, - 12300, - 12384 + 12336, + 12436, + 12444, + 12320, + 12400 ], "numpy": false }, @@ -175,13 +175,13 @@ "label": "txaio.use_asyncio(); import autobahn.wamp", "code": "import txaio; txaio.use_asyncio(); import autobahn.wamp", "available": true, - "maxrss_kib": 32652, + "maxrss_kib": 32792, "samples_kib": [ - 32636, - 32684, - 32632, - 32652, - 32768 + 32792, + 32768, + 32788, + 32804, + 32892 ], "numpy": false }, @@ -190,13 +190,13 @@ "label": "txaio.use_twisted(); import autobahn.wamp", "code": "import txaio; txaio.use_twisted(); import autobahn.wamp", "available": true, - "maxrss_kib": 39324, + "maxrss_kib": 39476, "samples_kib": [ - 39424, - 39324, - 39348, - 39312, - 39280 + 39460, + 39428, + 39476, + 39492, + 39480 ], "numpy": false }, @@ -205,13 +205,13 @@ "label": "import autobahn.asyncio.websocket", "code": "import autobahn.asyncio.websocket", "available": true, - "maxrss_kib": 37148, + "maxrss_kib": 37216, "samples_kib": [ - 37084, - 37176, - 37232, - 37100, - 37148 + 37328, + 37216, + 37180, + 37364, + 37204 ], "numpy": false }, @@ -220,13 +220,13 @@ "label": "import autobahn.twisted.websocket", "code": "import autobahn.twisted.websocket", "available": true, - "maxrss_kib": 50052, + "maxrss_kib": 50168, "samples_kib": [ - 50040, - 50068, - 50052, - 50016, - 50168 + 50136, + 50168, + 50192, + 50168, + 50240 ], "numpy": false }, @@ -235,13 +235,13 @@ "label": "from daphne.server import Server", "code": "from daphne.server import Server", "available": true, - "maxrss_kib": 51472, + "maxrss_kib": 51656, "samples_kib": [ - 51472, - 51468, - 51560, - 51512, - 51400 + 51656, + 51660, + 51568, + 51616, + 51656 ], "numpy": false } diff --git a/scripts/memory-footprint/results/cpy314-fix_1983-crossbar.json b/scripts/memory-footprint/results/cpy314-26.10.1-crossbar.json similarity index 79% rename from scripts/memory-footprint/results/cpy314-fix_1983-crossbar.json rename to scripts/memory-footprint/results/cpy314-26.10.1-crossbar.json index a87b17527..dacb568ac 100644 --- a/scripts/memory-footprint/results/cpy314-fix_1983-crossbar.json +++ b/scripts/memory-footprint/results/cpy314-26.10.1-crossbar.json @@ -1,5 +1,5 @@ { - "variant": "fix_1983", + "variant": "26.10.1", "python": { "implementation": "CPython", "version": "3.14.7", @@ -12,14 +12,14 @@ }, "runs": 5, "packages": { - "autobahn": "26.10.1.dev1", + "autobahn": "26.10.1", "txaio": "26.6.1", "twisted": "26.4.0", "cryptography": "50.0.2", "numpy": "2.5.4", "cbor2": "6.1.5", "crossbar": "26.7.1", - "zlmdb": "26.7.1" + "zlmdb": "26.10.1" }, "results": [ { @@ -27,13 +27,13 @@ "label": "from crossbar.edge.worker.router import ExtRouterController", "code": "from crossbar.edge.worker.router import ExtRouterController", "available": true, - "maxrss_kib": 148160, + "maxrss_kib": 148704, "samples_kib": [ - 148124, - 148124, - 148160, - 148176, - 148192 + 148684, + 148728, + 148704, + 148740, + 148664 ], "numpy": true } diff --git a/scripts/memory-footprint/results/cpy314-fix_1983.json b/scripts/memory-footprint/results/cpy314-26.10.1.json similarity index 70% rename from scripts/memory-footprint/results/cpy314-fix_1983.json rename to scripts/memory-footprint/results/cpy314-26.10.1.json index f32d871c4..a94376d0b 100644 --- a/scripts/memory-footprint/results/cpy314-fix_1983.json +++ b/scripts/memory-footprint/results/cpy314-26.10.1.json @@ -1,5 +1,5 @@ { - "variant": "fix_1983", + "variant": "26.10.1", "python": { "implementation": "CPython", "version": "3.14.7", @@ -12,7 +12,7 @@ }, "runs": 5, "packages": { - "autobahn": "26.10.1.dev1", + "autobahn": "26.10.1", "txaio": "26.6.1", "twisted": "26.4.0", "cryptography": "50.0.2", @@ -26,13 +26,13 @@ "label": "bare interpreter", "code": "pass", "available": true, - "maxrss_kib": 12260, + "maxrss_kib": 12252, "samples_kib": [ - 12284, - 12232, - 12260, - 12260, - 12212 + 12252, + 12344, + 12244, + 12348, + 12244 ], "numpy": false }, @@ -41,13 +41,13 @@ "label": "import cryptography", "code": "import cryptography", "available": true, - "maxrss_kib": 12224, + "maxrss_kib": 12352, "samples_kib": [ - 12300, - 12224, - 12304, - 12224, - 12224 + 12356, + 12264, + 12352, + 12344, + 12356 ], "numpy": false }, @@ -56,13 +56,13 @@ "label": "from cryptography.hazmat.primitives import hashes", "code": "from cryptography.hazmat.primitives import hashes", "available": true, - "maxrss_kib": 20296, + "maxrss_kib": 20404, "samples_kib": [ - 20296, - 20304, - 20280, - 20284, - 20304 + 20404, + 20428, + 20340, + 20436, + 20404 ], "numpy": false }, @@ -71,13 +71,13 @@ "label": "import numpy", "code": "import numpy", "available": true, - "maxrss_kib": 29096, + "maxrss_kib": 29240, "samples_kib": [ - 29136, - 29092, - 29148, - 29096, - 29096 + 29280, + 29236, + 29240, + 29236, + 29244 ], "numpy": true }, @@ -86,13 +86,13 @@ "label": "import asyncio", "code": "import asyncio", "available": true, - "maxrss_kib": 18620, + "maxrss_kib": 18612, "samples_kib": [ + 18596, 18684, - 18632, - 18544, - 18620, - 18516 + 18596, + 18612, + 18632 ], "numpy": false }, @@ -101,13 +101,13 @@ "label": "from twisted.internet import reactor", "code": "from twisted.internet import reactor", "available": true, - "maxrss_kib": 44452, + "maxrss_kib": 44568, "samples_kib": [ - 44408, - 44468, - 44396, - 44452, - 44496 + 44568, + 44528, + 44640, + 44472, + 44636 ], "numpy": false }, @@ -118,11 +118,11 @@ "available": true, "maxrss_kib": 12344, "samples_kib": [ - 12292, 12344, - 12316, - 12380, - 12348 + 12344, + 12360, + 12336, + 12436 ], "numpy": false }, @@ -131,13 +131,13 @@ "label": "import txaio; txaio.use_asyncio()", "code": "import txaio; txaio.use_asyncio()", "available": true, - "maxrss_kib": 18700, + "maxrss_kib": 18820, "samples_kib": [ - 18676, - 18772, - 18688, - 18780, - 18700 + 18820, + 18832, + 18724, + 18820, + 18824 ], "numpy": false }, @@ -146,13 +146,13 @@ "label": "import txaio; txaio.use_twisted()", "code": "import txaio; txaio.use_twisted()", "available": true, - "maxrss_kib": 27108, + "maxrss_kib": 27216, "samples_kib": [ - 27184, - 27100, - 27068, - 27184, - 27108 + 27216, + 27144, + 27240, + 27200, + 27228 ], "numpy": false }, @@ -161,13 +161,13 @@ "label": "import autobahn", "code": "import autobahn", "available": true, - "maxrss_kib": 12312, + "maxrss_kib": 12404, "samples_kib": [ - 12312, - 12384, - 12312, - 12392, - 12304 + 12352, + 12424, + 12404, + 12352, + 12432 ], "numpy": false }, @@ -176,13 +176,13 @@ "label": "txaio.use_asyncio(); import autobahn.wamp", "code": "import txaio; txaio.use_asyncio(); import autobahn.wamp", "available": true, - "maxrss_kib": 33976, + "maxrss_kib": 34060, "samples_kib": [ - 33976, - 33984, - 33984, - 33948, - 33948 + 34024, + 34084, + 34028, + 34152, + 34060 ], "numpy": false }, @@ -191,13 +191,13 @@ "label": "txaio.use_twisted(); import autobahn.wamp", "code": "import txaio; txaio.use_twisted(); import autobahn.wamp", "available": true, - "maxrss_kib": 40732, + "maxrss_kib": 40888, "samples_kib": [ - 40672, - 40732, - 40684, - 40788, - 40732 + 40836, + 40844, + 40900, + 40888, + 40904 ], "numpy": false }, @@ -206,13 +206,13 @@ "label": "import autobahn.asyncio.websocket", "code": "import autobahn.asyncio.websocket", "available": true, - "maxrss_kib": 38744, + "maxrss_kib": 38864, "samples_kib": [ - 38732, - 38684, - 38748, - 38744, - 38768 + 38884, + 38832, + 38864, + 38956, + 38852 ], "numpy": false }, @@ -221,13 +221,13 @@ "label": "import autobahn.twisted.websocket", "code": "import autobahn.twisted.websocket", "available": true, - "maxrss_kib": 51484, + "maxrss_kib": 51592, "samples_kib": [ - 51468, - 51576, - 51484, - 51484, - 51388 + 51596, + 51592, + 51544, + 51488, + 51640 ], "numpy": false }, @@ -236,13 +236,13 @@ "label": "from daphne.server import Server", "code": "from daphne.server import Server", "available": true, - "maxrss_kib": 52828, + "maxrss_kib": 53024, "samples_kib": [ - 52872, - 52788, - 52824, - 52828, - 52988 + 53024, + 53088, + 53060, + 52980, + 52976 ], "numpy": false } diff --git a/scripts/memory-footprint/results/cpy314-26.7.1-crossbar.json b/scripts/memory-footprint/results/cpy314-26.7.1-crossbar.json index da96c16fd..e2a363ea4 100644 --- a/scripts/memory-footprint/results/cpy314-26.7.1-crossbar.json +++ b/scripts/memory-footprint/results/cpy314-26.7.1-crossbar.json @@ -19,7 +19,7 @@ "numpy": "2.5.4", "cbor2": "6.1.5", "crossbar": "26.7.1", - "zlmdb": "26.7.1" + "zlmdb": "26.10.1" }, "results": [ { @@ -27,13 +27,13 @@ "label": "from crossbar.edge.worker.router import ExtRouterController", "code": "from crossbar.edge.worker.router import ExtRouterController", "available": true, - "maxrss_kib": 148136, + "maxrss_kib": 148644, "samples_kib": [ - 148280, - 148136, - 148136, - 148132, - 148016 + 148548, + 148588, + 148644, + 148708, + 148712 ], "numpy": true } diff --git a/scripts/memory-footprint/results/cpy314-26.7.1.json b/scripts/memory-footprint/results/cpy314-26.7.1.json index ed8efc2cb..5b288e591 100644 --- a/scripts/memory-footprint/results/cpy314-26.7.1.json +++ b/scripts/memory-footprint/results/cpy314-26.7.1.json @@ -26,13 +26,13 @@ "label": "bare interpreter", "code": "pass", "available": true, - "maxrss_kib": 12224, + "maxrss_kib": 12280, "samples_kib": [ - 12192, - 12224, - 12208, + 12324, 12280, - 12268 + 12260, + 12348, + 12252 ], "numpy": false }, @@ -41,13 +41,13 @@ "label": "import cryptography", "code": "import cryptography", "available": true, - "maxrss_kib": 12268, + "maxrss_kib": 12308, "samples_kib": [ - 12304, - 12224, - 12260, + 12320, 12268, - 12300 + 12276, + 12308, + 12356 ], "numpy": false }, @@ -56,13 +56,13 @@ "label": "from cryptography.hazmat.primitives import hashes", "code": "from cryptography.hazmat.primitives import hashes", "available": true, - "maxrss_kib": 20340, + "maxrss_kib": 20364, "samples_kib": [ - 20344, - 20384, - 20340, - 20268, - 20256 + 20360, + 20504, + 20364, + 20456, + 20336 ], "numpy": false }, @@ -71,13 +71,13 @@ "label": "import numpy", "code": "import numpy", "available": true, - "maxrss_kib": 29132, + "maxrss_kib": 29212, "samples_kib": [ - 29144, - 29108, - 29132, - 29156, - 29128 + 29160, + 29212, + 29204, + 29236, + 29216 ], "numpy": true }, @@ -86,13 +86,13 @@ "label": "import asyncio", "code": "import asyncio", "available": true, - "maxrss_kib": 18604, + "maxrss_kib": 18648, "samples_kib": [ - 18624, - 18536, - 18560, - 18604, - 18656 + 18680, + 18648, + 18592, + 18612, + 18672 ], "numpy": false }, @@ -101,13 +101,13 @@ "label": "from twisted.internet import reactor", "code": "from twisted.internet import reactor", "available": true, - "maxrss_kib": 44368, + "maxrss_kib": 44548, "samples_kib": [ - 44404, - 44368, - 44356, - 44492, - 44360 + 44540, + 44496, + 44604, + 44548, + 44560 ], "numpy": false }, @@ -116,13 +116,13 @@ "label": "import txaio", "code": "import txaio", "available": true, - "maxrss_kib": 12356, + "maxrss_kib": 12392, "samples_kib": [ - 12356, - 12380, - 12316, - 12380, - 12276 + 12392, + 12348, + 12408, + 12384, + 12432 ], "numpy": false }, @@ -131,13 +131,13 @@ "label": "import txaio; txaio.use_asyncio()", "code": "import txaio; txaio.use_asyncio()", "available": true, - "maxrss_kib": 18780, + "maxrss_kib": 18760, "samples_kib": [ - 18780, - 18780, - 18784, - 18780, - 18728 + 18756, + 18740, + 18760, + 18824, + 18816 ], "numpy": false }, @@ -146,13 +146,13 @@ "label": "import txaio; txaio.use_twisted()", "code": "import txaio; txaio.use_twisted()", "available": true, - "maxrss_kib": 27132, + "maxrss_kib": 27192, "samples_kib": [ - 27132, - 27152, - 27140, - 27068, - 27048 + 27336, + 27232, + 27192, + 27188, + 27172 ], "numpy": false }, @@ -161,13 +161,13 @@ "label": "import autobahn", "code": "import autobahn", "available": true, - "maxrss_kib": 29492, + "maxrss_kib": 29596, "samples_kib": [ - 29536, - 29644, - 29468, - 29492, - 29440 + 29524, + 29724, + 29516, + 29600, + 29596 ], "numpy": true }, @@ -176,13 +176,13 @@ "label": "txaio.use_asyncio(); import autobahn.wamp", "code": "import txaio; txaio.use_asyncio(); import autobahn.wamp", "available": true, - "maxrss_kib": 48792, + "maxrss_kib": 48908, "samples_kib": [ - 48792, - 48752, - 48860, - 48808, - 48652 + 48880, + 48940, + 48908, + 48980, + 48856 ], "numpy": true }, @@ -191,13 +191,13 @@ "label": "txaio.use_twisted(); import autobahn.wamp", "code": "import txaio; txaio.use_twisted(); import autobahn.wamp", "available": true, - "maxrss_kib": 54148, + "maxrss_kib": 54208, "samples_kib": [ - 54148, - 54180, - 54028, 54200, - 54068 + 54176, + 54208, + 54380, + 54264 ], "numpy": true }, @@ -206,13 +206,13 @@ "label": "import autobahn.asyncio.websocket", "code": "import autobahn.asyncio.websocket", "available": true, - "maxrss_kib": 52324, + "maxrss_kib": 52448, "samples_kib": [ - 52324, - 52320, - 52244, - 52328, - 52328 + 52448, + 52444, + 52364, + 52584, + 52448 ], "numpy": true }, @@ -221,13 +221,13 @@ "label": "import autobahn.twisted.websocket", "code": "import autobahn.twisted.websocket", "available": true, - "maxrss_kib": 64672, + "maxrss_kib": 64832, "samples_kib": [ - 64852, - 64592, - 64712, - 64672, - 64652 + 64832, + 64892, + 64768, + 64788, + 64832 ], "numpy": true }, @@ -236,13 +236,13 @@ "label": "from daphne.server import Server", "code": "from daphne.server import Server", "available": true, - "maxrss_kib": 66180, + "maxrss_kib": 66352, "samples_kib": [ - 66188, - 66252, - 66068, - 66136, - 66180 + 66352, + 66392, + 66336, + 66268, + 66416 ], "numpy": true } diff --git a/scripts/memory-footprint/results/pypy311-25.10.2.json b/scripts/memory-footprint/results/pypy311-25.10.2.json index df953d128..812f53b16 100644 --- a/scripts/memory-footprint/results/pypy311-25.10.2.json +++ b/scripts/memory-footprint/results/pypy311-25.10.2.json @@ -25,13 +25,13 @@ "label": "bare interpreter", "code": "pass", "available": true, - "maxrss_kib": 65928, + "maxrss_kib": 66552, "samples_kib": [ - 66048, - 65884, - 65948, - 65928, - 65760 + 66548, + 66544, + 66556, + 66552, + 66664 ], "numpy": false }, @@ -40,13 +40,13 @@ "label": "import cryptography", "code": "import cryptography", "available": true, - "maxrss_kib": 65888, + "maxrss_kib": 66480, "samples_kib": [ - 65888, - 65996, - 65824, - 65744, - 65968 + 66328, + 66680, + 66324, + 66588, + 66480 ], "numpy": false }, @@ -55,13 +55,13 @@ "label": "from cryptography.hazmat.primitives import hashes", "code": "from cryptography.hazmat.primitives import hashes", "available": true, - "maxrss_kib": 73796, + "maxrss_kib": 74244, "samples_kib": [ - 73796, - 73752, - 73868, - 73840, - 73736 + 74240, + 74268, + 74244, + 74248, + 74212 ], "numpy": false }, @@ -70,13 +70,13 @@ "label": "import numpy", "code": "import numpy", "available": true, - "maxrss_kib": 90232, + "maxrss_kib": 91008, "samples_kib": [ - 90300, - 90232, - 90356, - 90208, - 90232 + 91184, + 91012, + 90880, + 91008, + 90992 ], "numpy": true }, @@ -85,13 +85,13 @@ "label": "import asyncio", "code": "import asyncio", "available": true, - "maxrss_kib": 80616, + "maxrss_kib": 81364, "samples_kib": [ - 80548, - 80584, - 80664, - 80704, - 80616 + 81488, + 81200, + 81364, + 81532, + 81236 ], "numpy": false }, @@ -100,13 +100,13 @@ "label": "from twisted.internet import reactor", "code": "from twisted.internet import reactor", "available": true, - "maxrss_kib": 108608, + "maxrss_kib": 109408, "samples_kib": [ - 108604, - 108940, - 108692, - 108580, - 108608 + 109432, + 109356, + 109408, + 109480, + 109244 ], "numpy": false }, @@ -115,13 +115,13 @@ "label": "import txaio", "code": "import txaio", "available": true, - "maxrss_kib": 65936, + "maxrss_kib": 66540, "samples_kib": [ - 66000, - 65780, - 66004, - 65936, - 65832 + 66520, + 66564, + 66428, + 66664, + 66540 ], "numpy": false }, @@ -130,13 +130,13 @@ "label": "import txaio; txaio.use_asyncio()", "code": "import txaio; txaio.use_asyncio()", "available": true, - "maxrss_kib": 80860, + "maxrss_kib": 81752, "samples_kib": [ - 80772, - 80948, - 81072, - 80800, - 80860 + 81804, + 81552, + 81788, + 81436, + 81752 ], "numpy": false }, @@ -145,13 +145,13 @@ "label": "import txaio; txaio.use_twisted()", "code": "import txaio; txaio.use_twisted()", "available": true, - "maxrss_kib": 90088, + "maxrss_kib": 90848, "samples_kib": [ - 90024, - 90156, - 90088, - 90088, - 90180 + 90792, + 90980, + 90936, + 90848, + 90824 ], "numpy": false }, @@ -160,13 +160,13 @@ "label": "import autobahn", "code": "import autobahn", "available": true, - "maxrss_kib": 65952, + "maxrss_kib": 66432, "samples_kib": [ - 65964, - 66048, - 65952, - 65892, - 65748 + 66540, + 66388, + 66536, + 66432, + 66324 ], "numpy": false }, @@ -175,13 +175,13 @@ "label": "txaio.use_asyncio(); import autobahn.wamp", "code": "import txaio; txaio.use_asyncio(); import autobahn.wamp", "available": true, - "maxrss_kib": 95208, + "maxrss_kib": 96080, "samples_kib": [ - 95208, - 95200, - 95248, - 95196, - 95348 + 96060, + 96092, + 95896, + 96080, + 96096 ], "numpy": false }, @@ -190,13 +190,13 @@ "label": "txaio.use_twisted(); import autobahn.wamp", "code": "import txaio; txaio.use_twisted(); import autobahn.wamp", "available": true, - "maxrss_kib": 102552, + "maxrss_kib": 103260, "samples_kib": [ - 102624, - 102488, - 102516, - 102552, - 102704 + 103256, + 103260, + 103352, + 103268, + 103252 ], "numpy": false }, @@ -205,13 +205,13 @@ "label": "import autobahn.asyncio.websocket", "code": "import autobahn.asyncio.websocket", "available": true, - "maxrss_kib": 100724, + "maxrss_kib": 101516, "samples_kib": [ - 100640, - 100724, - 100648, - 100740, - 100788 + 101456, + 101532, + 101516, + 101516, + 101540 ], "numpy": false }, @@ -220,13 +220,13 @@ "label": "import autobahn.twisted.websocket", "code": "import autobahn.twisted.websocket", "available": true, - "maxrss_kib": 115872, + "maxrss_kib": 116748, "samples_kib": [ - 115872, - 115600, - 116012, - 115944, - 115840 + 116748, + 116812, + 116624, + 116768, + 116748 ], "numpy": false }, @@ -235,13 +235,13 @@ "label": "from daphne.server import Server", "code": "from daphne.server import Server", "available": true, - "maxrss_kib": 117572, + "maxrss_kib": 118364, "samples_kib": [ - 117496, - 117688, - 117572, - 117620, - 117440 + 118428, + 118440, + 118364, + 118324, + 118268 ], "numpy": false } diff --git a/scripts/memory-footprint/results/pypy311-fix_1983-crossbar.json b/scripts/memory-footprint/results/pypy311-26.10.1-crossbar.json similarity index 80% rename from scripts/memory-footprint/results/pypy311-fix_1983-crossbar.json rename to scripts/memory-footprint/results/pypy311-26.10.1-crossbar.json index 06a4e9f4d..e1b740678 100644 --- a/scripts/memory-footprint/results/pypy311-fix_1983-crossbar.json +++ b/scripts/memory-footprint/results/pypy311-26.10.1-crossbar.json @@ -1,5 +1,5 @@ { - "variant": "fix_1983", + "variant": "26.10.1", "python": { "implementation": "PyPy", "version": "3.11.15", @@ -12,14 +12,14 @@ }, "runs": 5, "packages": { - "autobahn": "26.10.1.dev1", + "autobahn": "26.10.1", "txaio": "26.6.1", "twisted": "26.4.0", "cryptography": "50.0.2", "numpy": "2.4.6", "cbor2": "5.9.0", "crossbar": "26.7.1", - "zlmdb": "26.7.1" + "zlmdb": "26.10.1" }, "results": [ { @@ -27,13 +27,13 @@ "label": "from crossbar.edge.worker.router import ExtRouterController", "code": "from crossbar.edge.worker.router import ExtRouterController", "available": true, - "maxrss_kib": 229484, + "maxrss_kib": 221732, "samples_kib": [ - 229500, - 229840, - 218460, - 219932, - 229484 + 221600, + 229608, + 221732, + 221908, + 219452 ], "numpy": true } diff --git a/scripts/memory-footprint/results/pypy311-fix_1983.json b/scripts/memory-footprint/results/pypy311-26.10.1.json similarity index 69% rename from scripts/memory-footprint/results/pypy311-fix_1983.json rename to scripts/memory-footprint/results/pypy311-26.10.1.json index 877e6f97c..113044ae8 100644 --- a/scripts/memory-footprint/results/pypy311-fix_1983.json +++ b/scripts/memory-footprint/results/pypy311-26.10.1.json @@ -1,5 +1,5 @@ { - "variant": "fix_1983", + "variant": "26.10.1", "python": { "implementation": "PyPy", "version": "3.11.15", @@ -12,7 +12,7 @@ }, "runs": 5, "packages": { - "autobahn": "26.10.1.dev1", + "autobahn": "26.10.1", "txaio": "26.6.1", "twisted": "26.4.0", "cryptography": "50.0.2", @@ -26,13 +26,13 @@ "label": "bare interpreter", "code": "pass", "available": true, - "maxrss_kib": 65920, + "maxrss_kib": 66504, "samples_kib": [ - 65884, - 65956, - 65924, - 65812, - 65920 + 66560, + 66316, + 66528, + 66504, + 66368 ], "numpy": false }, @@ -41,13 +41,13 @@ "label": "import cryptography", "code": "import cryptography", "available": true, - "maxrss_kib": 65936, + "maxrss_kib": 66584, "samples_kib": [ - 65808, - 65964, - 65884, - 65936, - 66000 + 66320, + 66584, + 66668, + 66376, + 66664 ], "numpy": false }, @@ -56,13 +56,13 @@ "label": "from cryptography.hazmat.primitives import hashes", "code": "from cryptography.hazmat.primitives import hashes", "available": true, - "maxrss_kib": 73744, + "maxrss_kib": 74400, "samples_kib": [ - 73628, - 73744, - 73848, - 73588, - 73892 + 74448, + 74400, + 74528, + 74372, + 74252 ], "numpy": false }, @@ -71,13 +71,13 @@ "label": "import numpy", "code": "import numpy", "available": true, - "maxrss_kib": 90272, + "maxrss_kib": 90972, "samples_kib": [ - 90360, - 90232, - 90248, - 90280, - 90272 + 91024, + 91032, + 90972, + 90956, + 90940 ], "numpy": true }, @@ -86,13 +86,13 @@ "label": "import asyncio", "code": "import asyncio", "available": true, - "maxrss_kib": 80728, + "maxrss_kib": 81328, "samples_kib": [ - 80732, - 80728, - 80796, - 80544, - 80652 + 81328, + 81460, + 81328, + 81196, + 81348 ], "numpy": false }, @@ -101,13 +101,13 @@ "label": "from twisted.internet import reactor", "code": "from twisted.internet import reactor", "available": true, - "maxrss_kib": 108596, + "maxrss_kib": 109380, "samples_kib": [ - 108648, - 108532, - 108596, - 108676, - 108552 + 109420, + 109380, + 109356, + 109544, + 109356 ], "numpy": false }, @@ -116,13 +116,13 @@ "label": "import txaio", "code": "import txaio", "available": true, - "maxrss_kib": 65760, + "maxrss_kib": 66572, "samples_kib": [ - 65740, - 65764, - 65760, - 65940, - 65740 + 66472, + 66672, + 66572, + 66524, + 66572 ], "numpy": false }, @@ -131,13 +131,13 @@ "label": "import txaio; txaio.use_asyncio()", "code": "import txaio; txaio.use_asyncio()", "available": true, - "maxrss_kib": 81004, + "maxrss_kib": 81752, "samples_kib": [ - 81004, - 81060, - 81052, - 80920, - 80888 + 81768, + 81760, + 81752, + 81572, + 81704 ], "numpy": false }, @@ -146,13 +146,13 @@ "label": "import txaio; txaio.use_twisted()", "code": "import txaio; txaio.use_twisted()", "available": true, - "maxrss_kib": 90068, + "maxrss_kib": 90912, "samples_kib": [ - 90012, - 90152, - 90176, - 90068, - 89936 + 90728, + 90944, + 90912, + 90876, + 90968 ], "numpy": false }, @@ -161,13 +161,13 @@ "label": "import autobahn", "code": "import autobahn", "available": true, - "maxrss_kib": 65932, + "maxrss_kib": 66580, "samples_kib": [ - 65996, - 65776, - 65740, - 65960, - 65932 + 66704, + 66332, + 66580, + 66584, + 66388 ], "numpy": false }, @@ -176,13 +176,13 @@ "label": "txaio.use_asyncio(); import autobahn.wamp", "code": "import txaio; txaio.use_asyncio(); import autobahn.wamp", "available": true, - "maxrss_kib": 95900, + "maxrss_kib": 96624, "samples_kib": [ - 95904, - 95768, - 95872, - 95900, - 96100 + 96624, + 96816, + 96584, + 96672, + 96524 ], "numpy": false }, @@ -191,13 +191,13 @@ "label": "txaio.use_twisted(); import autobahn.wamp", "code": "import txaio; txaio.use_twisted(); import autobahn.wamp", "available": true, - "maxrss_kib": 102944, + "maxrss_kib": 103748, "samples_kib": [ - 102936, - 103028, - 102876, - 103092, - 102944 + 103796, + 103692, + 103748, + 103692, + 103852 ], "numpy": false }, @@ -206,13 +206,13 @@ "label": "import autobahn.asyncio.websocket", "code": "import autobahn.asyncio.websocket", "available": true, - "maxrss_kib": 101424, + "maxrss_kib": 102168, "samples_kib": [ - 101424, - 101572, - 101344, - 101352, - 101608 + 102160, + 102128, + 102356, + 102336, + 102168 ], "numpy": false }, @@ -221,13 +221,13 @@ "label": "import autobahn.twisted.websocket", "code": "import autobahn.twisted.websocket", "available": true, - "maxrss_kib": 116580, + "maxrss_kib": 117348, "samples_kib": [ - 116580, - 116704, - 116456, - 116576, - 116584 + 117456, + 117276, + 117348, + 117352, + 117244 ], "numpy": false }, @@ -236,13 +236,13 @@ "label": "from daphne.server import Server", "code": "from daphne.server import Server", "available": true, - "maxrss_kib": 118356, + "maxrss_kib": 119120, "samples_kib": [ - 118412, - 118384, - 118320, - 118356, - 118296 + 118920, + 118944, + 119120, + 119192, + 119236 ], "numpy": false } diff --git a/scripts/memory-footprint/results/pypy311-26.7.1-crossbar.json b/scripts/memory-footprint/results/pypy311-26.7.1-crossbar.json index ecf7bd551..5bf304a41 100644 --- a/scripts/memory-footprint/results/pypy311-26.7.1-crossbar.json +++ b/scripts/memory-footprint/results/pypy311-26.7.1-crossbar.json @@ -27,13 +27,13 @@ "label": "from crossbar.edge.worker.router import ExtRouterController", "code": "from crossbar.edge.worker.router import ExtRouterController", "available": true, - "maxrss_kib": 245296, + "maxrss_kib": 246380, "samples_kib": [ - 245760, - 245296, - 244868, - 244504, - 245824 + 246380, + 246452, + 247040, + 246132, + 246284 ], "numpy": true } diff --git a/scripts/memory-footprint/results/pypy311-26.7.1.json b/scripts/memory-footprint/results/pypy311-26.7.1.json index 4f6946788..ba14eb7b3 100644 --- a/scripts/memory-footprint/results/pypy311-26.7.1.json +++ b/scripts/memory-footprint/results/pypy311-26.7.1.json @@ -26,13 +26,13 @@ "label": "bare interpreter", "code": "pass", "available": true, - "maxrss_kib": 65928, + "maxrss_kib": 66500, "samples_kib": [ - 65992, - 65780, - 65932, - 65776, - 65928 + 66572, + 66384, + 66500, + 66556, + 66468 ], "numpy": false }, @@ -41,13 +41,13 @@ "label": "import cryptography", "code": "import cryptography", "available": true, - "maxrss_kib": 65944, + "maxrss_kib": 66548, "samples_kib": [ - 65776, - 66008, - 66052, - 65924, - 65944 + 66568, + 66548, + 66568, + 66332, + 66472 ], "numpy": false }, @@ -56,13 +56,13 @@ "label": "from cryptography.hazmat.primitives import hashes", "code": "from cryptography.hazmat.primitives import hashes", "available": true, - "maxrss_kib": 73740, + "maxrss_kib": 74400, "samples_kib": [ - 73740, - 74004, - 73656, - 73940, - 73592 + 74444, + 74344, + 74504, + 74152, + 74400 ], "numpy": false }, @@ -71,13 +71,13 @@ "label": "import numpy", "code": "import numpy", "available": true, - "maxrss_kib": 90236, + "maxrss_kib": 90936, "samples_kib": [ - 90352, - 90204, - 90392, - 90236, - 90200 + 90880, + 91160, + 90936, + 90920, + 91172 ], "numpy": true }, @@ -86,13 +86,13 @@ "label": "import asyncio", "code": "import asyncio", "available": true, - "maxrss_kib": 80760, + "maxrss_kib": 81364, "samples_kib": [ - 80864, - 80760, - 80820, - 80648, - 80588 + 81496, + 81308, + 81296, + 81364, + 81440 ], "numpy": false }, @@ -101,13 +101,13 @@ "label": "from twisted.internet import reactor", "code": "from twisted.internet import reactor", "available": true, - "maxrss_kib": 108632, + "maxrss_kib": 109336, "samples_kib": [ - 108632, - 108704, - 108616, - 108704, - 108552 + 109316, + 109320, + 109516, + 109336, + 109364 ], "numpy": false }, @@ -116,13 +116,13 @@ "label": "import txaio", "code": "import txaio", "available": true, - "maxrss_kib": 65936, + "maxrss_kib": 66568, "samples_kib": [ - 65924, - 65936, - 66004, - 66052, - 65824 + 66592, + 66436, + 66572, + 66516, + 66568 ], "numpy": false }, @@ -131,13 +131,13 @@ "label": "import txaio; txaio.use_asyncio()", "code": "import txaio; txaio.use_asyncio()", "available": true, - "maxrss_kib": 80908, + "maxrss_kib": 81596, "samples_kib": [ - 81072, - 80788, - 80968, - 80908, - 80856 + 81588, + 81596, + 81648, + 81744, + 81588 ], "numpy": false }, @@ -146,13 +146,13 @@ "label": "import txaio; txaio.use_twisted()", "code": "import txaio; txaio.use_twisted()", "available": true, - "maxrss_kib": 90060, + "maxrss_kib": 90848, "samples_kib": [ - 90020, - 90400, - 90060, - 89964, - 90236 + 90904, + 90840, + 90956, + 90848, + 90692 ], "numpy": false }, @@ -161,13 +161,13 @@ "label": "import autobahn", "code": "import autobahn", "available": true, - "maxrss_kib": 90060, + "maxrss_kib": 90792, "samples_kib": [ - 90104, - 90044, - 90060, - 90016, - 90116 + 90800, + 90732, + 90792, + 90812, + 90772 ], "numpy": true }, @@ -176,13 +176,13 @@ "label": "txaio.use_asyncio(); import autobahn.wamp", "code": "import txaio; txaio.use_asyncio(); import autobahn.wamp", "available": true, - "maxrss_kib": 115056, + "maxrss_kib": 115732, "samples_kib": [ - 115056, - 115076, - 114720, - 115060, - 115056 + 115728, + 115736, + 115640, + 115864, + 115732 ], "numpy": true }, @@ -191,13 +191,13 @@ "label": "txaio.use_twisted(); import autobahn.wamp", "code": "import txaio; txaio.use_twisted(); import autobahn.wamp", "available": true, - "maxrss_kib": 121692, + "maxrss_kib": 122524, "samples_kib": [ - 121692, - 121784, - 122016, - 121672, - 121672 + 122524, + 122612, + 122416, + 122492, + 122616 ], "numpy": true }, @@ -206,13 +206,13 @@ "label": "import autobahn.asyncio.websocket", "code": "import autobahn.asyncio.websocket", "available": true, - "maxrss_kib": 120004, + "maxrss_kib": 120740, "samples_kib": [ - 119848, - 120032, - 120004, - 120084, - 119892 + 120620, + 120764, + 120768, + 120696, + 120740 ], "numpy": true }, @@ -221,13 +221,13 @@ "label": "import autobahn.twisted.websocket", "code": "import autobahn.twisted.websocket", "available": true, - "maxrss_kib": 136688, + "maxrss_kib": 137632, "samples_kib": [ - 136868, - 135628, - 136904, - 135520, - 136688 + 137628, + 137732, + 137672, + 137600, + 137632 ], "numpy": true }, @@ -236,13 +236,13 @@ "label": "from daphne.server import Server", "code": "from daphne.server import Server", "available": true, - "maxrss_kib": 139032, + "maxrss_kib": 139788, "samples_kib": [ - 139084, - 139192, - 138856, - 139008, - 139032 + 139788, + 139920, + 139892, + 139620, + 139320 ], "numpy": true }