Avatar for the Bluetooth-Devices user
Bluetooth-Devices
habluetooth
BlogDocsChangelog

perf(auto_scheduler): per-worker owned-due-at view for O(owned) wakes

#515Merged
Comparing
koan/fix-issue-506
(
9e303bd
) with
main
(
d6813da
)
CodSpeed Performance Gauge
×2.5
Improvement
5
Untouched
19
Ignored
2
Skipped
5

Benchmarks

31 total
test_collect_due_buckets_burst_8_scanners_200_devices
tests/test_benchmark_auto_scheduler.py
CodSpeed Performance Gauge
×3.6
686.5 µs191 µs
test_next_event_at_burst_8_scanners_200_devices
tests/test_benchmark_auto_scheduler.py
CodSpeed Performance Gauge
×3.3
670.7 µs202.6 µs
test_next_event_at_single_worker_8_scanners_200_devices
tests/test_benchmark_auto_scheduler.py
CodSpeed Performance Gauge
×2.9
133.1 µs46.4 µs
test_collect_due_buckets_single_worker_8_scanners_200_devices
tests/test_benchmark_auto_scheduler.py
CodSpeed Performance Gauge
×2.9
135.4 µs47.2 µs
test_check_unavailable_many_scanners_local_like
tests/test_benchmark_manager.py
CodSpeed Performance Gauge
+8%
254.7 µs236 µs
test_inject_100_bluez_raw_end_to_end_unchanged
tests/test_benchmark_base_scanner.py
CodSpeed Performance Gauge
+1%
336.2 µs332.4 µs
test_seed_name_cache_steady_state_equality
tests/test_benchmark_base_scanner.py
CodSpeed Performance Gauge
0%
387.1 µs385.3 µs
test_inject_100_bleak_changed_advertisements
tests/test_benchmark_base_scanner.py
CodSpeed Performance Gauge
0%
475.2 µs474.2 µs
test_inject_100_complex_advertisements
tests/test_benchmark_base_scanner.py
CodSpeed Performance Gauge
0%
189.5 µs189.3 µs
test_check_unavailable_steady_state_local_like
tests/test_benchmark_manager.py
CodSpeed Performance Gauge
0%
195.2 µs195.1 µs
test_seed_name_cache_address_fallback
tests/test_benchmark_base_scanner.py
CodSpeed Performance Gauge
0%
350.1 µs350.1 µs
test_seed_name_cache_prefix_rule_paths
tests/test_benchmark_base_scanner.py
CodSpeed Performance Gauge
0%
2.2 ms2.2 ms
test_seed_name_cache_steady_state_identity
tests/test_benchmark_base_scanner.py
CodSpeed Performance Gauge
0%
343.1 µs343.2 µs
test_inject_100_simple_advertisements
tests/test_benchmark_base_scanner.py
CodSpeed Performance Gauge
0%
189.7 µs189.7 µs
test_inject_100_bluez_raw_end_to_end_changed
tests/test_benchmark_base_scanner.py
CodSpeed Performance Gauge
0%
591.5 µs591.7 µs
test_inject_100_bleak_unchanged_advertisements
tests/test_benchmark_base_scanner.py
CodSpeed Performance Gauge
0%
457 µs457.4 µs
test_inject_100_raw_unchanged_advertisements
tests/test_benchmark_base_scanner.py
CodSpeed Performance Gauge
0%
161.1 µs161.2 µs
test_check_unavailable_steady_state_remote
tests/test_benchmark_manager.py
CodSpeed Performance Gauge
0%
145.8 µs146.3 µs
test_inject_100_different_manufacturer_data
tests/test_benchmark_base_scanner.py
CodSpeed Performance Gauge
0%
325.1 µs326.2 µs
test_inject_100_rotating_manufacturer_data
tests/test_benchmark_base_scanner.py
CodSpeed Performance Gauge
0%
237.8 µs238.7 µs
test_check_unavailable_all_disappeared
tests/test_benchmark_manager.py
CodSpeed Performance Gauge
0%
1.3 ms1.3 ms
test_inject_100_different_service_data
tests/test_benchmark_base_scanner.py
CodSpeed Performance Gauge
0%
225.6 µs226.5 µs
test_inject_100_different_advertisements
tests/test_benchmark_base_scanner.py
CodSpeed Performance Gauge
-1%
228.3 µs229.5 µs
test_seed_name_cache_cold_first_name
tests/test_benchmark_base_scanner.py
CodSpeed Performance Gauge
-1%
760.6 µs769.9 µs
test_filter_unwanted_apple_advs
tests/test_benchmark_base_scanner.py
Ignored
CodSpeed Performance Gauge
-1%
150.7 µs151.7 µs

Commits

Click on a commit to change the comparison range
Base
main
d6813da
×2.6
refactor(auto_scheduler): route owned-needs mutations through worker methods
b349c4b
8 days ago
by bdraco
+49.82%
refactor(auto_scheduler): drop non-mutated local aliases and python-typed cython.locals
e8d5532
8 days ago
by bdraco
+0.77%
refactor(auto_scheduler): fold needs cleanup and worker wake into ownership index
d84d346
8 days ago
by bdraco
-0.77%
refactor(auto_scheduler): rename _needs to _due_at and type ownership helpers
a48be91
8 days ago
by bdraco
+4.44%
refactor(auto_scheduler): drop defensive guards that paper over invariant breaks
0df6986
8 days ago
by bdraco
-59.23%
refactor(auto_scheduler): inline _attach / _detach helpers
2da132f
8 days ago
by bdraco
+62.08%
refactor(auto_scheduler): move _due_at entirely under _OwnershipIndex
ecfcf3a
8 days ago
by bdraco
-1.84%
docs(auto_scheduler): refresh module docstring for _OwnershipIndex
ca4e23b
8 days ago
by bdraco
-59.11%
refactor(auto_scheduler): rename _OwnershipIndex to _ScanSchedule
90bb2af
8 days ago
by bdraco
+59.23%
refactor(auto_scheduler): rename hook_worker to attach_worker; cover non-AUTO flip
6bfb333
8 days ago
by bdraco
+3.88%
refactor(auto_scheduler): snapshot _owned_due_at via .copy().items()
e9032c2
8 days ago
by bdraco
-60.5%
docs(auto_scheduler): unstale a few _due_at references
0b34189
8 days ago
by bdraco
-0.98%
refactor(auto_scheduler): use worker's owned view in clear_source for AUTO sources
1798c25
8 days ago
by bdraco
+0.37%
test(auto_scheduler): end-to-end invariant checks across full lifecycles
59301db
8 days ago
by bdraco
+0.25%
test(auto_scheduler): _assert_schedule_invariant also calls _next_event_at
675bfe2
8 days ago
by bdraco
-0.45%
test(auto_scheduler): pin fail-fast contracts for invariant breaks
0ee13e8
8 days ago
by bdraco
+62.36%
refactor(auto_scheduler): _detach_owned uses del, not pop with default
93cab0f
8 days ago
by bdraco
-61.61%
test(auto_scheduler): fix inverted docstring on test_next_event_at_skips_other_workers_entries
9e303bd
8 days ago
by bdraco
© 2026 CodSpeed Technology
Home Terms Privacy Docs