Reusing Body Tools - kimjooyoon/meta-ontology-go GitHub Wiki

반볡 쑰립의 검사·싀행 λΉ„μš©

2026-10-03. 개발 #1192λŠ” ν•„μˆ˜ μ—¬μ„― 검사와 독립 증거 검증 λ’€ λ³‘ν•©ν–ˆμŠ΅λ‹ˆλ‹€. main #1193도 ν•„μˆ˜ μ—¬μ„― 검사와 독립 증거·승격 결속을 확인해 λ³‘ν•©ν–ˆμŠ΅λ‹ˆλ‹€. κΉ¨λ—ν•œ main ed2c2cacλ₯Ό Go1.27.1둜 λΉŒλ“œν•΄ λ‘œμ»¬μ— μ„€μΉ˜ν–ˆμŠ΅λ‹ˆλ‹€. μ•„λž˜ v3 도ꡬ 보관을 μ„€μΉ˜λ³Έμ—μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

같은 κ³΅μž‘λ¬Όμ„ λ°˜λ³΅ν•΄ λ‹€λ£° λ•ŒλŠ” κ²€μ‚¬ν•œ 곡ꡬλ₯Ό λ³΄κ΄€ν•˜κ³ , μ§€κΈˆ λ§Œλ“  물건과 μ‹€μ œ λ™μž‘μ€ λ‹€μ‹œ ν™•μΈν•©λ‹ˆλ‹€. Gooo의 반볡 λ°”λ”” 싀행도 이 λ°©μ‹μœΌλ‘œ λΉ„μš©μ„ μ€„μž…λ‹ˆλ‹€.

ν•œ ν”„λ‘œμ„ΈμŠ€μ—μ„œ λ°˜λ³΅ν•˜κΈ°

컴파일러 μ €μž₯μ†Œμ—μ„œ λ‹€μŒ λͺ…령은 λ°”λ””λ₯Ό λ§Œλ“€μžλ§ˆμž 두 번 μ‹€ν–‰ν•˜κ³  기둝을 μ €μž₯ν•©λ‹ˆλ‹€.

gooo body-path-run \
  --source examples/body-codegen/typed-path-compound.gooo.fixture \
  --activity Combined \
  --path-plan examples/body-codegen/typed-path-compound-plan.json \
  --cases examples/body-codegen/typed-path-runtime-cases.json \
  --out fresh-body-results --repeat 3

좜λ ₯ ν΄λ”λŠ” μƒˆ κ²½λ‘œμ—¬μ•Ό ν•©λ‹ˆλ‹€. --model /absolute/path/model.json을 μΆ”κ°€ν•˜λ©΄ ν˜Έν™˜λ˜λŠ” 둜컬 νŒλ‹¨κΈ°λ₯Ό μ‚¬μš©ν•˜κ³ , μƒλž΅ν•˜λ©΄ κ²°μ •λ‘ μ μœΌλ‘œ μ‘°λ¦½ν•©λ‹ˆλ‹€. λ°˜λ³΅μ€ 1..16회이고 맀번 ν˜„μž¬ 사둀λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€. 파일 μ‚¬μš© μ•ˆλ‚΄.

무엇을 λ³΄κ΄€ν•˜λŠ”κ°€

  • 첫 성곡 λΉŒλ“œμ˜ μ‹€ν–‰νŒŒμΌ ν•œ 개λ₯Ό λ³΄κ΄€ν•©λ‹ˆλ‹€. 맀번 ν˜„μž¬ λ‚΄μš©μ˜ ν•΄μ‹œλ₯Ό ν™•μΈν•©λ‹ˆλ‹€.
  • μ •κ·œ Go1.27.1 μ‹€ν–‰νŒŒμΌμ˜ 첫 μ‹€μ œ 버전 확인을 λ³΄κ΄€ν•©λ‹ˆλ‹€. ν˜„μž¬ Go 파일 μ „μ²΄μ˜ ν•΄μ‹œ, λ‚΄μž₯ λ²„μ „Β·ν”Œλž«νΌ, 파일 μœ„μΉ˜μ™€ μžμ‹ ν™˜κ²½μ΄ κ°™μ•„μ•Ό μž¬μ‚¬μš©ν•©λ‹ˆλ‹€.
  • μ…Έ λž˜νΌλŠ” λ‹€λ₯Έ μ‹€ν–‰ μ˜μ‘΄μ„±μ„ 확인할 수 μ—†μ–΄ 맀번 μƒˆ 버전 확인을 μ‹€ν–‰ν•©λ‹ˆλ‹€.
  • ν˜„μž¬ μ›λ³ΈΒ·κ³„νšΒ·μ„ νƒΒ·λΆ€λͺ¨ 기둝은 λ‹€μ‹œ ν™•μΈν•˜κ³  ν˜„μž¬ μž…λ ₯을 두 번 μ‹€ν–‰ν•©λ‹ˆλ‹€.
  • ν”„λ‘œμ„ΈμŠ€ μ’…λ£ŒΒ·μ·¨μ†Œ λ•Œ λ³΄κ΄€ν•œ 확인과 μž„μ‹œ μ‹€ν–‰νŒŒμΌμ„ μ •λ¦¬ν•©λ‹ˆλ‹€.

μƒˆ runtime v3의 toolchain_reference.source_checkλŠ” μ›λž˜ ν™•μΈμž…λ‹ˆλ‹€. toolchain_reference.reusedκ°€ true인 μš”μ²­μ€ ν˜„μž¬ toolchain에 μžμ‹ 싀행을 λ§Œλ“€μ–΄ λ„£μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 버전과 λΉŒλ“œλ₯Ό λͺ¨λ‘ μž¬μ‚¬μš©ν•˜λ©΄ μžμ› λΆ„λͺ¨λŠ” μ‹€μ œ μ‹€ν–‰ 두 개, λ°”λ””λ₯Ό μƒˆλ‘œ λΉŒλ“œν•˜λ©΄ μ„Έ κ°œμž…λ‹ˆλ‹€. 이전 λΉ„μš©μ€ μ›λž˜ κ΄€μΈ‘μ—μ„œ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

μ§€κΈˆκΉŒμ§€μ˜ κ΄€μΈ‘

κΈ°μ‘΄ ν•œμ˜ 파일 두 개의 λͺ¨λΈΒ·κ²°μ •λ‘  λ„€ 쑰건을 λ²ˆκ°ˆμ•„ μ‹€ν–‰ν–ˆμŠ΅λ‹ˆλ‹€. 각 λ²„μ „μ˜ 졜초 μš”μ²­ 8νšŒμ™€ 반볡 μš”μ²­ 40회λ₯Ό κ΅¬λΆ„ν–ˆμŠ΅λ‹ˆλ‹€. 반볡 응닡 쀑앙값은 79.91β†’63.69ms, ν˜„μž¬ μžμ‹ CPU ν•© 쀑앙값은 31.21β†’13.37msμ˜€μŠ΅λ‹ˆλ‹€. Go 버전 μžμ‹μ€ 48β†’8회이고 전체 μ‹€μ œ μ‹€ν–‰ 192회·12,288/12,288 κΈ°λŒ€κ°’κ³Ό 생성 Go 96/96 일치λ₯Ό μœ μ§€ν–ˆμŠ΅λ‹ˆλ‹€. λͺ¨λΈ κ°€μ€‘μΉ˜ κ°±μ‹ Β·μƒˆ μ˜λ„ κ³Όμ œλŠ” 0κ°œμž…λ‹ˆλ‹€.

μ„€μΉ˜λ³Έμ—μ„œ μƒˆλ‘œ 8회 생성·4회 λͺ¨λΈ νŒλ‹¨Β·16회 μ‹€μ œ 싀행을 μˆ˜ν–‰ν•΄ 1,024/1,024와 κΈ°μ‘΄ 생성 Go μ—¬λŸ 파일의 일치λ₯Ό ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€. λͺ¨λΈ 반볡 응닡은 ν•œκ΅­μ–΄ 76.82msΒ· μ˜μ–΄ 74.07ms, 결정둠은 66.31Β·63.95msμ˜€μŠ΅λ‹ˆλ‹€. 첫 응닡과 원본도 λ‚¨κ²ΌμœΌλ©° μ„œλ‘œ λ‹€λ₯Έ μ‹œμ μ˜ μ‹œκ°„κ³Ό μ•žμ„  λ²ˆκ°ˆμ•„ μ‹€ν–‰ν•œ 츑정은 ꡬ뢄해 μ½μŠ΅λ‹ˆλ‹€.

응닡은 초기 λͺ¨λΈ μ€€λΉ„Β·μ €μž₯을 μ œμ™Έν•œ 생성과 μ‹€ν–‰ μ‹œκ°„μž…λ‹ˆλ‹€. CPUλŠ” ν˜„μž¬ μžμ‹μ˜ user+system μ‹œκ°„μ΄κ³  컴퓨터 전체 μ‚¬μš©λ₯ μ€ μΈ‘μ •ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. macOS ν•œ μž₯λΉ„μ˜ 반볡 κ΄€μΈ‘μ΄λ―€λ‘œ λ‹€λ₯Έ μž₯λΉ„μ˜ μ‹œκ°„μ„ 보μž₯ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

κ³Όκ±° v2 기둝 8쌍의 비ꡐ κ²°κ³Όκ°€ κΈ°μ‘΄ 도ꡬ와 μ •ν™•νžˆ κ°™μ•˜μŠ΅λ‹ˆλ‹€. ν˜„μž¬ v3 기둝 16쌍과 v2β†’v3 λ„€ μŒλ„ μ½μ—ˆμŠ΅λ‹ˆλ‹€. λ‹€λ₯Έ ν”„λ‘œν•„μ˜ λΆ„λͺ¨ λ³€ν™”λŠ” 숫자 μ™„μ „μ„± ν–₯μƒμœΌλ‘œ κ³„μ‚°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 기둝 비ꡐ μ•ˆλ‚΄.

μ‹€μ œ μ›λ³ΈΒ·μ‹€νŒ¨Β·μΈ‘μ • λ²”μœ„Β·μž¬ν˜„ Β· 개발 PR #1192