Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I0833 — uzly a hrany znalostí čtou každý zdroj jednou

Změřit čas fází znalostí a poté odstranit podprocesy po jednotlivých souborech v discovery a extrakci, aby uzly a hrany potřebovaly jeden průchod na zdroj.

HOTOVO vlna 1 · p0 · profil implementation · běží samostatně

Součást M004 — Výkon je spustitelný důkaz a horká cesta nedělá žádnou kanonickou práci dvakrát.

Cíl

Změřit čas fází znalostí a poté odstranit podprocesy po jednotlivých souborech v discovery a extrakci, aby uzly a hrany potřebovaly jeden průchod na zdroj.

Proč

uzly znalostí stojí 5,7 s a na tomto repozitáři zploští 146 souborů.

Aktuální stav

Objevování hashuje a zplošťuje po souborech, každý s podprocesem.

Cílový stav

uzly a hrany pod 1 s na tomto repozitáři s identickým výstupem.

Rozsah

  • lib/knowledge.sh
  • lib/knowledge.awk
  • test/cases/64_knowledge_discovery.sh
  • test/cases/73_knowledge_nodes.sh
  • test/cases/74_knowledge_edges.sh

Mimo rozsah

  • Změna identit uzlů nebo sémantiky hran

Závislosti

Co na tom čeká

Kritéria přijetí

  • Výstup uzlů a hran je před i po bajt po bajtu shodný
  • Případy 64, 73, 74 a 75 projdou beze změny

Validace

  • MJ_TIMING=1 bin/majordomus knowledge nodes
  • bash test/run.sh 73_knowledge_nodes

Požadované důkazy

  • batch_reads

Důkazy

pokrývátypcommandvýsledeku commitu
batch_readstestMJ_TIMING=1 bin/majordomus knowledge nodeskaždý objevený soubor hashuje jeden proces místo jednoho shasum na soubor, druhy YAML a druhy s front matter zplošťuje vždy jeden awk, nadpisy a odkazy dokumentů i řádková úložiště čte vždy jeden awk, třídy zdrojů jsou proměnné a formátovače řádků používají podřetězec místo cut na řádek; v tomto repozitáři knowledge nodes kleslo z 6,3 s na 0,63 s a edges na 0,62 s s uzly, hranami a zdroji bajt po bajtu shodnými, kromě hashů upravených souborů knihovny; případy 64, 73, 74 a 75 procházejí beze změny. Týž commit počítá tabulátor jednou pro každou smyčku IFS v lib a v generátoru webu, které forkovaly subshell na řádek; případy 10, 11, 40, 43, 61 a 66 procházejí beze změnynext

Riziko

Identita je hash obsahu na soubor; jeden podproces sha256 na soubor zůstává, pokud se hashování nesdruží, což shasum -a 256 s mnoha argumenty umožňuje.

Časová osa

zahájeno
2026-09-05T02:40:00Z
ověřeno
2026-09-05T03:05:00Z
dokončeno
2026-09-05T03:05:00Z

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Kanonický záznam: .ai/repo/project/issues/I0833.yaml. Zpětně ho přečtete pomocí majordomus plan show I0833.

Prohledává názvy a popisy všech stránek, které tento web publikuje.