Skip to content

perf(features): parallelize ISS keypoints with bounded CPU workers - #149

Merged
rsasaki0109 merged 1 commit into
mainfrom
codex/parallel-iss-keypoints
Oct 12, 2026
Merged

rsasaki0109 merged 1 commit into
mainfrom
codex/parallel-iss-keypoints

Conversation

@rsasaki0109

@rsasaki0109 rsasaki0109 commented Oct 12, 2026 •

Copy link
Copy Markdown
Owner

ISS detection previously evaluated every covariance and local maximum on the caller. feature-iss now shares one KD-tree across bounded scoped CPU workers, joining the saliency phase before selection reads it. Parallel selection writes a temporary one-byte-per-point mask and collects indices in input order; small/one-worker calls keep direct serial index collection. Public signatures, per-point math, equal-maxima behavior, schema, attributes and metadata are preserved.

Validation: 1,081,992 exact selection decisions and selected clouds against the frozen serial API; independent covariance eigenvalues, tied maxima and degenerate support; all six attribute buffer types including signed-zero/NaN words; configuration, empty/singleton and concurrent-call parity. Seven minimal and twenty-three all-feature native tests plus one facade smoke pass. Strict minimal/all-feature Clippy, crate/facade WASM compilation, formatting and diff checks pass.

Completed detect measurements include selected XYZ copying, using twelve conditions, two warmups and twenty rotating paired rounds. All six 32,768/65,536-point conditions favor public staging by 1.41–2.54x. Adverse one-worker controls at 16,384 and 32,768 noisy curved points are retained; serial neutrality and fixed cross-machine speedups are not claimed.

Execution boundary and all measurement conditions.

@rsasaki0109
rsasaki0109 changed the base branch from codex/parallel-boundary-detection to main October 12, 2026 02:29
@rsasaki0109
rsasaki0109 merged commit 6734d94 into main Oct 12, 2026
115 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