Skip to content

ENH: Optimize various filters for out-of-core data access patterns.#1542

Closed
imikejackson wants to merge 1 commit intoBlueQuartzSoftware:developfrom
imikejackson:topic/out_of_core_optimizations
Closed

ENH: Optimize various filters for out-of-core data access patterns.#1542
imikejackson wants to merge 1 commit intoBlueQuartzSoftware:developfrom
imikejackson:topic/out_of_core_optimizations

Conversation

@imikejackson
Copy link
Contributor

Replace the stack-based DFS flood-fill algorithm in SegmentFeatures with a two-phase chunk-sequential Connected Component Labeling (CCL) algorithm. This eliminates random-access patterns that cause severe OOC chunk thrashing (22-30x speedup for EBSD/CAxis, 29x for ScalarSegmentFeatures).

Apply the same vector-based data structure optimizations to FillBadData: replace unordered_map provisional labels with dense vector buffer, eliminate backward neighbor reads from OOC featureIdsStore, and replace hash-based region classification with direct vector lookups.

Shared UnionFind utility uses vector storage with path-halving compression and union-by-rank for near-O(1) amortized operations.

…lBadData data structures

Replace the stack-based DFS flood-fill algorithm in SegmentFeatures with a
two-phase chunk-sequential Connected Component Labeling (CCL) algorithm.
This eliminates random-access patterns that cause severe OOC chunk thrashing
(22-30x speedup for EBSD/CAxis, 29x for ScalarSegmentFeatures).

Apply the same vector-based data structure optimizations to FillBadData:
replace unordered_map provisional labels with dense vector buffer, eliminate
backward neighbor reads from OOC featureIdsStore, and replace hash-based
region classification with direct vector lookups.

Shared UnionFind utility uses vector storage with path-halving compression
and union-by-rank for near-O(1) amortized operations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@imikejackson imikejackson force-pushed the topic/out_of_core_optimizations branch from ec9f66d to 84c54ec Compare February 23, 2026 19:33
@imikejackson
Copy link
Contributor Author

This is now in #1545

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant