HermitCrab: #546 follow-ons (compiled slot-rule sharing, ParallelApplySlots) are unbuilt and unmeasured in work steps

Abierto
#608 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
csharp
Área
performance

Línea de trabajo

Start with docs/hermitcrab-2026-10-21-search-cost-round.md, lines 319–330, and the optimization ledger on branch docs/hc-optimization-ledger at 2eba2f50; begin after PR #546 lands. Measure compiled-rule-sharing work steps with a deterministic counter on the full lists, then document a design for ParallelApplySlots. Done means the measurement and design are recorded; the issue names no specific C# files or tests.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Claude-drafted.

Two follow-ons to PR #546 (shared trailing slot batches) are not built and have no work-step measurement: sharing compiled slot rules across templates, and a design for ParallelApplySlots, whose layered breadth-first queue needs its own design.

Status: not started. Waits on #546 landing.

What we know:

  • #546's C# gain is counted in slot batches on samples, not in work steps on full lists: Sena 31.4% fewer (47,072 to 32,287), Mbugwe 19.3% fewer (72,467 to 58,486).
  • The port measured the same batch sharing in work steps: Sena 11.5% less work, Mbugwe 18.1% less (1,364-word partial), Aweti 0.35%, none on one-template grammars.
  • #546 covers sequential, untraced walks without an alternative limit. ParallelApplySlots is outside it.

Not known: the work-step effect of compiled-rule sharing; what a ParallelApplySlots design needs.

Proposed change (C#): measure the work-step effect of compiled-rule sharing on the full word lists, then design ParallelApplySlots. A deterministic work counter on full lists comes first (lead 7 of the 2026-10-21 round).

Related: PR #546 (open), #566 (open). PanGloss: sillsdev/PanGloss#110 (the pointer issue for this one, open); sillsdev/PanGloss#66 (open) ports the batch sharing of #546 and #566 only, not these follow-ons.

Next: once #546 lands, count compiled-rule sharing in work steps on the full lists.


Evidence -- where the numbers come from
  • C# batch counts and port work steps: ledger row 26 (Sena 47,072 to 32,287 is 31.4%; Mbugwe 72,467 to 58,486 is 19.3%; port Sena 11.5%, 31.6% fewer steps, 448,573 batches avoided; Mbugwe 18.1% on a 1,364-word partial; Aweti 0.35%).
  • The round's own wording: "The C# gain is measured in slot batches on samples, not in a work counter on full lists."
  • ParallelApplySlots exists today at AnalysisAffixTemplateRule.cs#L96 (called from line 71).
Sources -- retired record, pinned at 2eba2f50 (closed PR #490)
Lenguaje dominante
C#
Estrellas
29
Forks
16
Merge medio
4 d 11 h
PR fusionados (30 d)
14

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de sillsdev/machine

Todos los issues de sillsdev/machine

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.