Florian and Claude Opus 4.7
23fc99f0fe
[MEM] Heap-allocate createDiscovery JsonDocuments ( #2302 )
...
createDiscovery sits at the bottom of the discovery call chain
(loop → launchBTDiscovery → <device>Discovery → createDiscoveryFromList
(9-col, VLA) → createDiscoveryFromList(13-col) → here). Keeping
2×1024 B StaticJsonDocuments on the stack burned loopTask headroom
down to ~100 B free under a full BLE + WebUI load. Moving the two
buffers to the heap drops that 2 KB off the stack peak.
Measured over the full test_perf + test_webui suite on
esp32dev-ble-hil-fastsys (dev HEAD):
freestck_min_bytes: 292 → 2324 B (+2032, target was ≥1500)
minmem_soak_bytes: 18200 → 20652 B (+2452)
all 17 tests still pass
The docs are function-scoped, so net heap usage is unchanged long-term
(free-on-return), and the soak heap floor actually improved.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-25 12:00:13 -05:00
..
2025-05-06 19:35:50 -05:00
2026-03-09 07:47:30 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-12-07 09:56:15 -06:00
2026-03-09 07:47:30 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2026-03-09 07:47:30 -05:00
2025-05-06 19:35:50 -05:00
2024-09-26 06:55:26 -05:00
2024-04-10 15:48:05 -05:00
2025-05-06 19:35:50 -05:00
2025-05-06 19:35:50 -05:00
2026-03-22 19:05:44 -05:00
2024-09-26 06:55:26 -05:00
2024-04-10 15:48:05 -05:00
2024-09-26 06:55:26 -05:00
2025-05-06 19:35:50 -05:00
2025-05-06 19:35:50 -05:00
2024-09-26 06:55:26 -05:00
2024-09-26 06:55:26 -05:00
2024-04-10 15:48:05 -05:00
2024-09-26 06:55:26 -05:00
2024-04-10 15:48:05 -05:00
2024-09-26 06:55:26 -05:00
2025-05-06 19:35:50 -05:00
2024-09-26 06:55:26 -05:00
2025-08-17 06:27:42 -05:00
2024-08-23 16:55:04 -05:00
2025-05-06 19:35:50 -05:00
2026-01-24 17:16:03 -06:00
2025-05-06 19:35:50 -05:00
2025-05-06 19:35:50 -05:00
2026-03-09 07:47:30 -05:00
2025-05-06 19:35:50 -05:00
2024-09-26 06:55:26 -05:00
2025-05-06 19:35:50 -05:00
2024-09-26 06:55:26 -05:00
2025-05-06 19:35:50 -05:00
2025-05-06 19:35:50 -05:00
2025-05-06 19:35:50 -05:00
2025-05-06 19:35:50 -05:00
2024-09-26 06:55:26 -05:00
2025-05-06 19:35:50 -05:00
2025-05-06 19:35:50 -05:00
2026-03-22 18:12:31 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2026-03-09 07:47:30 -05:00
2026-01-24 17:16:03 -06:00
2026-03-22 19:05:44 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2026-01-10 11:59:41 -06:00
2025-12-07 09:56:15 -06:00
2025-12-07 09:56:15 -06:00
2026-03-09 07:47:30 -05:00
2025-08-19 09:15:41 -05:00
2025-12-07 09:56:15 -06:00
2026-03-09 07:47:30 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2026-03-09 07:47:30 -05:00
2026-04-25 12:00:13 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2026-03-09 07:47:30 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2025-08-19 09:15:41 -05:00
2026-03-09 07:47:30 -05:00
2026-03-09 07:47:30 -05:00
2026-03-25 07:23:06 -05:00