Skip to content

Streaming write: 3x faster, remove per-packet backpressure#35

Merged
widgetii merged 1 commit intomasterfrom
feature/streaming-write
Apr 6, 2026
Merged

Streaming write: 3x faster, remove per-packet backpressure#35
widgetii merged 1 commit intomasterfrom
feature/streaming-write

Conversation

@widgetii
Copy link
Copy Markdown
Member

@widgetii widgetii commented Apr 6, 2026

Summary

Remove per-packet backpressure ACK from WRITE, SELFUPDATE, and FLASH_WRITE handlers. With the COBS trailing zero bug fixed (PR #20) and D-cache enabled, the agent processes packets fast enough to keep up with 921600 baud without flow control.

Benchmark (hi3516ev300, 921600 baud, 16MB)

Mode Speed Time
Per-packet ACK (old) 30 KB/s 9 min
Streaming (new) 77 KB/s 3.5 min

CRC32 verified on real hardware.

Test plan

  • All CI checks pass (ruff, mypy, pytest 291, C 1603)
  • Self-update streaming: binary verified
  • 16MB RAM write streaming: CRC32 match
  • CI on PR

🤖 Generated with Claude Code

With COBS trailing zero bug fixed + D-cache enabled, per-packet ACK
is no longer needed. Pure streaming at 921600 baud:

Before (per-packet ACK): 16MB in 9 min (30 KB/s)
After (streaming):       16MB in 3.5 min (77 KB/s)

Selfupdate also switched to streaming mode.
Verified: 16MB CRC32 match on hi3516ev300.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@widgetii widgetii merged commit 2482aa2 into master Apr 6, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant