Skip to content

HermitCrab analysis: query lexical reachability before materializing compounding splits (rejected: ceiling about 2% of clones, 9% of traversals) #585

Closed as not planned

Description

@johnml1135

The idea was to check lexical reachability before AnalysisCompoundingRule materializes its splits. It was not built.

Measured. A census on the heaviest Sena probe counted 35,176 splits, 5,524 root candidates and 1,121 outputs. That work is about 2% of word clones and 9% of FST traversals.

Why rejected. The ceiling is too small for the added indexing and correctness surface. Real compounding also prevents the simpler grammar-wide lexical gate. Reopen only if another grammar shows split construction as a dominant measured bucket and supplies a sound, stratum-aware reachability predicate.

Record: https://github.com/sillsdev/machine/blob/2eba2f502338705a4d529d7034cecb6303db7f35/docs/rejected-optimizations/compounding-split-prefilter.md
Ledger: https://github.com/sillsdev/machine/blob/2eba2f502338705a4d529d7034cecb6303db7f35/docs/hermitcrab-optimization-ledger.md; disposition: https://github.com/sillsdev/machine/blob/2eba2f502338705a4d529d7034cecb6303db7f35/docs/hermitcrab-perf-2026-09-disposition.md
From #490 (closed).

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions