HermitCrab analysis: measure the required-slot look-ahead's repeated scans, narrowing and shadow diagnostics in steps

未关闭
#598 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
45/100
Issue 类型
重构
描述清晰度
基本清楚
活跃度
活跃
技术栈
csharp

调研方向

Start with RequiredSlotMaterial.AllPresent, the ordered-slot narrowing path, and RequiredSlotCheckObserver; the issue does not name files or tests. Establish step-count baselines on Sena, Mbugwe, Aweti, and Amharic, then measure each point separately and track memory for any shared scan or cache. Done when every point has a step-count comparison and is either changed or closed with the numbers.

由索引模型根据 Issue 内容生成。

描述

Hermit Crab performance

Four review points on the required-slot look-ahead (#575, which now also carries #576 and #579) are performance questions left unchanged until measured in steps:

  • Repeated shape scans on the unordered path (RequiredSlotMaterial.AllPresent): each constraint rescans the shape, and constraints shared across slots are searched again. 575 F5, 576 F4
  • Narrowing that may do unneeded work: an ordered slot above index 0 narrows even when no earlier check uses the result. 576 F3
  • Shadow mode and RequiredSlotCheckObserver: kept for the soundness tests and step measurement; remove or keep once this investigation is done. 575 F4

Constraints: report the cost as steps (unifications, events) on Sena, Mbugwe, Aweti and Amharic, not wall time. Any shared scan or cache must be shown to stay within a few MB.

Done when each point has a step-count comparison and is either changed or closed with the numbers.

主要语言
C#
星标
29
派生
16
平均合并
4 天 11 小时
30 天内合并 PR
14

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 有 Pull Request 模板
  • 没有贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

sillsdev/machine 的其他 Issue

查看 sillsdev/machine 的全部 Issue

相似的 Issue

更多 C# Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。