Skip to content

Reduce redundant buffering and tree walks in conversion#109

Merged
SimonCropp merged 1 commit into
mainfrom
Reduce-redundant-buffering-and-tree-walks-in-conversion
Jun 30, 2026
Merged

Reduce redundant buffering and tree walks in conversion#109
SimonCropp merged 1 commit into
mainfrom
Reduce-redundant-buffering-and-tree-walks-in-conversion

Conversation

@SimonCropp

Copy link
Copy Markdown
Owner
  • Fuse revision-marker stripping and drawing-id collection into a single document.xml traversal (WordRevisionMarkers.StripAndCollectDrawingIds)
  • Stream the normalized PNG IDAT straight to the target instead of staging it in a second MemoryStream; ~44% fewer allocations per image
  • Presize the nested-zip recursion buffer to the entry's uncompressed length
  • Add PngNormalizerBench

- Fuse revision-marker stripping and drawing-id collection into a single
  document.xml traversal (WordRevisionMarkers.StripAndCollectDrawingIds)
- Stream the normalized PNG IDAT straight to the target instead of staging
  it in a second MemoryStream; ~44% fewer allocations per image
- Presize the nested-zip recursion buffer to the entry's uncompressed length
- Add PngNormalizerBench
@SimonCropp SimonCropp added this to the 0.28.0 milestone Jun 30, 2026
@SimonCropp SimonCropp merged commit baae4c6 into main Jun 30, 2026
4 of 5 checks passed
@SimonCropp SimonCropp deleted the Reduce-redundant-buffering-and-tree-walks-in-conversion branch June 30, 2026 12:35
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