Bluetooth-Devices
dbus-fast
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Optimizations
Branches
Benchmarks
Runs
Performance History
Latest Results
chore(pre-commit.ci): pre-commit autoupdate updates: - [github.com/commitizen-tools/commitizen: v4.19.0 → v4.19.2](https://github.com/commitizen-tools/commitizen/compare/v4.19.0...v4.19.2) - [github.com/asottile/pyupgrade: v3.21.2 → v3.22.0](https://github.com/asottile/pyupgrade/compare/v3.21.2...v3.22.0) - [github.com/astral-sh/ruff-pre-commit: v0.16.9 → v0.17.0](https://github.com/astral-sh/ruff-pre-commit/compare/v0.16.9...v0.17.0)
pre-commit-ci-update-config
6 days ago
fix(service): release the bus when an interface is unexported _remove_bus dropped the bus from __buses and __handlers but left its entry in __handlers_by_name_signature, whose method-handler partials reference the bus. An unexported interface therefore kept every bus it had ever been exported on alive.
bluetoothbot:koan/unexport-release-bus
9 days ago
perf(service): look up a signal's export path in O(1) ServiceInterface now records the object path it is exported at on each bus, so emitting a signal or PropertiesChanged no longer scans every exported path and interface on the bus to find it.
bluetoothbot:koan/signal-emit-path-lookup
9 days ago
test(benchmarks): cover service-side signal emission Emit PropertiesChanged and a @signal from one of 64 exported characteristics, plus a single-export PropertiesChanged baseline.
bluetoothbot:koan/bench-service-signal-emit
9 days ago
perf(proxy): route signals to proxies by object path Proxy interfaces subscribed through on_<signal> registered their handler in the bus's user message handler list, so every incoming signal was offered to every subscribed proxy and rejected by path one at a time. Keep proxy handlers in a per-path dict of tuples on the bus instead, so a signal only reaches the proxies at its path. Low-level handlers still run first, and one returning a truthy value still marks the signal handled and skips the proxy handlers.
bluetoothbot:koan/route-signals-by-path
9 days ago
perf(marshaller): cut per-value overhead when marshalling bodies Write string/array length prefixes and booleans byte-by-byte instead of packing a throwaway bytes object, write single-character variant signatures without encoding, type the array length offset so the patch is a C store, read dict entry children from the cdef slots, and look up the writer table as a module-level cdef dict. Output is byte-identical to main.
bluetoothbot:koan/marshaller-body-fast-path
9 days ago
perf(message): write the message header directly instead of via variants Message._marshall built a Variant per header field and ran the generic Marshaller over "yyyyuua(yv)". The header layout is fixed, so pack the 16-byte start with one Struct and append each field's precomputed code/signature prefix plus its value directly. Output is byte-identical.
bluetoothbot:koan/direct-header-marshall
9 days ago
chore(pre-commit.ci): pre-commit autoupdate updates: - [github.com/commitizen-tools/commitizen: v4.19.0 → v4.19.1](https://github.com/commitizen-tools/commitizen/compare/v4.19.0...v4.19.1) - [github.com/astral-sh/ruff-pre-commit: v0.16.9 → v0.16.10](https://github.com/astral-sh/ruff-pre-commit/compare/v0.16.9...v0.16.10)
pre-commit-ci-update-config
13 days ago
Latest Branches
CodSpeed Performance Gauge
0%
chore(pre-commit.ci): pre-commit autoupdate
#817
6 days ago
943a740
pre-commit-ci-update-config
CodSpeed Performance Gauge
0%
fix(service): release the bus when an interface is unexported
#824
9 days ago
48fd586
bluetoothbot:koan/unexport-release-bus
CodSpeed Performance Gauge
0%
perf(service): look up a signal's export path in O(1)
#823
9 days ago
1782f16
bluetoothbot:koan/signal-emit-path-lookup
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs