Skip to content

perf: stream CSV audits with hash-indexed leakage checks - #1

Merged
Mohamedajab merged 1 commit into
mainfrom
perf/stream-csv-audits
Oct 13, 2026
Merged

Mohamedajab merged 1 commit into
mainfrom
perf/stream-csv-audits

Conversation

@Mohamedajab

@Mohamedajab Mohamedajab commented Oct 13, 2026 •

Copy link
Copy Markdown
Owner

Read the training and test files one row at a time instead of keeping both files in memory. This uses less memory, especially when the files contain large columns that the check does not need. The report and command exit codes stay the same.

The lookup work remains expected O(n+m), plus normalisation and sorting shared groups. Memory is not constant: the training index, IDs and findings still need RAM.

All 37 tests passed, including randomized comparisons with the materialised implementation and CLI checks. A reproducible synthetic benchmark with 5,000 rows per split and eight unused 256-character columns reduced peak tracked Python allocations from 28.3 MB to 1.09 MB (96.2%). Reports matched. That result measures Python allocations, not process RSS or production throughput.

The benchmark script and algorithm notes are included. No new dependencies.

Signed-off-by: Mohamed Ajab <mohamedajab8@gmail.com>
@Mohamedajab
Mohamedajab merged commit 24d7287 into main Oct 13, 2026
2 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