https://gitlab.synchro.net/main/sbbs/-/commit/06282ad2f21eec8f375a9bf3
Modified Files:
src/sbbs3/zmodem.c
Log Message:
Inline the common ZMODEM transmit path
Hoist the active escape mask out of the per-byte ZMODEM data loops
and defer the conditional-CR last_sent check until a CR is actually encountered.
Split error reporting and non-normal escaping into noinline cold
helpers. This allows the compiler to inline the class-table lookup and
raw send callback directly into the data loops while leaving uncommon
work out of the hot path.
Six interleaved 1 GiB uploads to lrz improved average throughput from
44.251 MiB/s to 50.651 MiB/s, a 14.46 percent increase.
Verify classification against the previous implementation for every
byte, escape-mode combination, and preceding byte. Inspect the release
output for inlining and run the SyncTERM test suite.
Refs #1195
Co-authored-by: OpenAI Codex <
[email protected]>
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)