perf(media): herschrijf duplicaatverwijzingen in één deckpass (#1052) #1093

Merged
brenno merged 2 commits from fix/media-dedupe-onepass-1052 into main 2026-08-01 20:44:06 +00:00
Owner

Sluit #1052.

countReferences vergeleek elke verwijzing met elk doelpad (O(refs × targets)); _applyDedupePlan las voor iedere te verwijderen kopie opnieuw elk deckbestand. Bij veel duplicaten en decks liep dat op tot honderden miljoenen vergelijkingen of decklezingen. De telling gebruikt nu één canonieke lookup-map; het toepassen bouwt één replacement-map en leest/schrijft elk deck hooguit één keer via het nieuwe replaceReferencesMulti (relatieve POSIX-paden en atomair schrijven behouden). replaceReferences delegeert nu daaraan.

Tests: veel-doelen-telling, één-pass-herschrijving, geen-schrijf-zonder-treffer, en een widgettest over het volledige ontdubbelpad. make check groen.

Bewaker overgeslagen: interne prestatieverbetering, geen formaat/opslag/afhankelijkheid/belofte (relatieve POSIX + atomair schrijven blijven behouden).

🤖 Generated with Claude Code

Sluit #1052. countReferences vergeleek elke verwijzing met elk doelpad (O(refs × targets)); _applyDedupePlan las voor iedere te verwijderen kopie opnieuw elk deckbestand. Bij veel duplicaten en decks liep dat op tot honderden miljoenen vergelijkingen of decklezingen. De telling gebruikt nu één canonieke lookup-map; het toepassen bouwt één replacement-map en leest/schrijft elk deck hooguit één keer via het nieuwe replaceReferencesMulti (relatieve POSIX-paden en atomair schrijven behouden). replaceReferences delegeert nu daaraan. Tests: veel-doelen-telling, één-pass-herschrijving, geen-schrijf-zonder-treffer, en een widgettest over het volledige ontdubbelpad. make check groen. Bewaker overgeslagen: interne prestatieverbetering, geen formaat/opslag/afhankelijkheid/belofte (relatieve POSIX + atomair schrijven blijven behouden). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
countReferences vergeleek elke verwijzing met elk doelpad (O(refs × targets));
_applyDedupePlan las voor iedere te verwijderen kopie opnieuw elk deckbestand.
Bij veel duplicaten en decks liep dat op tot honderden miljoenen vergelijkingen
of decklezingen. De telling gebruikt nu één canonieke lookup-map; het toepassen
bouwt één replacement-map en leest/schrijft elk deck hooguit één keer via het
nieuwe replaceReferencesMulti (relatieve POSIX-paden en atomair schrijven
behouden). replaceReferences delegeert nu daaraan. Tests: veel-doelen-telling,
één-pass-herschrijving en geen-schrijf-zonder-treffer.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
test(media): dek het #1052-ontdubbelpad met een widgettest (#1052)
All checks were successful
scans / scans (pull_request) Successful in 3m43s
3aa56d15da
Een widgettest voor het volledige ontdubbelpad (_applyDedupePlan), zodat de
één-pass-herschrijving over de deckbestanden gedekt is en het bestand boven de
per-file-dekkingsvloer blijft. Drie byte-identieke fixture-afbeeldingen,
getapt tot en met de bevestiging.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brenno merged commit 78f2dc2ddb into main 2026-08-01 20:44:06 +00:00
Sign in to join this conversation.
No description provided.