• src/hash/crc32_slicing.hsrc/hash/crc32.c crc32.h src/sbbs3/zmodem.c

    From Deuc¿@VERT to Git commit to main/sbbs/master on Thu Jul 23 22:34:09 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/f7c50ed5e3d431349acb21f5
    Added Files:
    src/hash/crc32_slicing.h
    Modified Files:
    src/hash/crc32.c crc32.h src/sbbs3/zmodem.c
    Log Message:
    Process CRC-32 data four bytes at a time

    Add slicing-by-four lookup tables and update the CRC-32 helper to
    process four input bytes per iteration. Use the same helper while
    transmitting ZMODEM data, keeping CRC calculation and byte transmission
    in one pass.

    This reduces dependency chaining in the upload hot path. Six
    interleaved 1 GiB uploads to lrz improved average throughput from
    44.586 MiB/s to 45.992 MiB/s, a 3.15 percent increase.

    Verify slicing results against the byte-at-a-time implementation across unaligned offsets, lengths, and initial CRC states, and run the SyncTERM
    test suite.

    Refs #1195

    Co-authored-by: OpenAI Codex <noreply@openai.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net