Replaying Body Experiments - kimjooyoon/meta-ontology-go GitHub Wiki

λ°”λ”” μ‹€ν—˜μ„ λ‹€μ‹œ μ‹€ν–‰ν•˜κ³  κ²°κ³Ό 읽기

μ €μž₯된 μ‹€ν—˜μ„ ν˜„μž¬ μ»΄ν“¨ν„°μ—μ„œ ν™•μΈν•˜λŠ” μ•ˆλ‚΄μž…λ‹ˆλ‹€. Go1.27.1을 μ‚¬μš©ν•©λ‹ˆλ‹€. μ‹€ν—˜ μ €μž₯μ†Œ #19κ°€ 병합됐고, 둜컬 μ‹€ν–‰κ³Ό Linux CIμ—μ„œ 두 μž¬ν˜„ 경둜λ₯Ό ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€.

1. μ‹€ν–‰ν•˜κΈ°

git clone https://github.com/kimjooyoon/gooo-metaprogramming-experiments.git
cd gooo-metaprogramming-experiments/tools/baseline-replay
go run . --root ../.. --output /tmp/gooo-baseline-new
go run . --revision2 --root ../.. --output /tmp/gooo-candidates-new

좜λ ₯ ν΄λ”λŠ” μƒˆ 이름을 μ‚¬μš©ν•©λ‹ˆλ‹€. --output을 μƒλž΅ν•˜λ©΄ μž„μ‹œ 폴더λ₯Ό λ§Œλ“€κ³  경둜λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€. 첫 λͺ…령은 μ•žμ„  컴파일러 두 λ²„μ „μ—μ„œ μ €μž₯ν•œ 생성 ν”„λ‘œκ·Έλž¨ 52개λ₯Ό λ‹€μ‹œ μ»΄νŒŒμΌΒ·μ‹€ν–‰ν•©λ‹ˆλ‹€. 두 λ²ˆμ§ΈλŠ” κΈ°μ€€ ν•¨μˆ˜ 두 묢음과 μ›λž˜Β·μˆ˜μ • 후보λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€. λͺ¨λΈ 호좜과 μƒˆ μ½”λ“œ 생성은 0회이며, μ€€λΉ„ μŠ€ν¬λ¦½νŠΈλŠ” 자료둜 μ½μŠ΅λ‹ˆλ‹€.

μƒˆ λ°”λ””λ₯Ό 직접 μž‘μ„±ν•˜λ €λ©΄ μ—¬λŸ¬ 쀄 λ°”λ”” μž‘μ„±, λͺ¨λΈκ³Ό 결정둠적 쑰립을 λΉ„κ΅ν•˜λ €λ©΄ νŒŒμΌμ—μ„œ λ°”λ”” 쑰립·싀행을 μ°Έκ³ ν•©λ‹ˆλ‹€.

2. κ²°κ³Όλ₯Ό μ½λŠ” μˆœμ„œ

λ¨Όμ € λ³Ό 것 의미 이번 후보 μž¬ν˜„
μ„ μ–Έν•œ 후보 수 확인할 전체 후보 각 버전 96
μ»΄νŒŒμΌΒ·μ‹€ν–‰ 수 μ‹€μ œ κ²°κ³Όλ₯Ό λ‚Έ 후보 μ›λž˜ 93, μˆ˜μ • 96
컴파일 μ‹€νŒ¨ μ‹€ν–‰ 전에 μ‹€νŒ¨ν•œ 후보 μ›λž˜ 3, μˆ˜μ • 0
선택 μž…λ ₯ μΆ©μ‘± 쑰립 경둜λ₯Ό νŒλ‹¨ν•˜λŠ” μž…λ ₯의 λ™μž‘ 후보별 training.passed / training.total
평가 μž…λ ₯ μΆ©μ‘± 선택 λ’€ λ³„λ„λ‘œ 확인할 μž…λ ₯의 λ™μž‘ 후보별 evaluation.passed / evaluation.total
μ†ŒμŠ€ μ™„μ „μ„± 받아듀인 Gooo ꡬ쑰가 생성물에 λ°˜μ˜λλŠ”κ°€ 별도 컴파일러 기둝

μ»΄νŒŒμΌμ— ν†΅κ³Όν•œ 후보도 κΈ°λŒ€κ°’κ³Ό λ‹€λ₯΄κ²Œ λ™μž‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 두 번째 λͺ…λ Ήμ˜ independent-replay-report.jsonμ—μ„œ original.design_results와 revision_2.design_resultsλ₯Ό μ—΄λ©΄ κ³Όμ œΒ·ν›„λ³΄λ³„ 두 μΆ©μ‘± 수λ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. independent-replay-report.mdλŠ” 전체 μš”μ•½μž…λ‹ˆλ‹€.

이번 μˆ˜μ • ν›„λ³΄μ—μ„œ μ§€μ •λœ μ •λ‹΅ ν›„λ³΄λŠ” 선택 μž…λ ₯ 137/137, 평가 μž…λ ₯ 95/95λ₯Ό μΆ©μ‘±ν–ˆμŠ΅λ‹ˆλ‹€. 32개 선택 μž…λ ₯ λ¬ΆμŒμ€ λͺ¨λ‘ μ •λ‹΅ 후보와 두 λŒ€μ•ˆμ„ κ΅¬λΆ„ν•©λ‹ˆλ‹€. μ΄λŠ” μ‹€ν—˜μ—μ„œ μ§€μ •ν•œ ν›„λ³΄μ˜ μœ ν•œ λ™μž‘ κ΄€μΈ‘μž…λ‹ˆλ‹€. μ‹€μ œ λͺ¨λΈ νŒλ‹¨μ˜ μΆ©μ‘±λ₯ μ€ λͺ¨λΈμ„ ν˜ΈμΆœν•œ 별도 κΈ°λ‘μ—μ„œ μ½μŠ΅λ‹ˆλ‹€. μ–‘μͺ½ 버전은 같은 32개 μ˜λ„λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

3. μƒˆ 결과와 μ‹€νŒ¨λ₯Ό λ³΄μ‘΄ν•˜λŠ” 방식

μž„μ‹œ λ³΅μ‚¬λ³Έμ˜ κ²°κ³Ό 189개λ₯Ό μ§€μš°κ³  후보 ν…ŒμŠ€νŠΈλ₯Ό μ‹€μ œ μ‹€ν–‰ν•©λ‹ˆλ‹€. μƒˆ νŒŒμΌμ„ μ›λž˜ 파일 ν•΄μ‹œμ™€ λŒ€μ‘°ν•˜λ―€λ‘œ 이전 κ²°κ³Όκ°€ 남아 μžˆλŠ” μƒνƒœλ‘œ μ„±κ³΅ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ›λž˜ μ„Έ 컴파일 μ‹€νŒ¨λ„ ν™•μΈν•˜λ©°, κ·Έ ν›„λ³΄λ“€μ˜ μ˜ˆμ • μž…λ ₯ν–‰ 24κ°œμ—λŠ” μ‹€ν–‰ κ²°κ³Όκ°€ μ—†μŠ΅λ‹ˆλ‹€.

μ‹€νŒ¨ ν”Όλ“œλ°± 32λ¬ΆμŒμ€ 원본 μ†ŒμŠ€μ™€ 선택 μž…λ ₯의 ν•΄μ‹œ, 후보 ID, μƒˆ μ‹€ν–‰ κ²°κ³Όλ₯Ό ν•¨κ»˜ ν™•μΈν•©λ‹ˆλ‹€. 평가 μž…λ ₯은 ν”Όλ“œλ°± 관츑에 λ“€μ–΄κ°€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ‹œκ°„ μ œν•œμ— 걸리면 μžμ‹ ν”„λ‘œμ„ΈμŠ€ 그룹을 μ •λ¦¬ν•˜κ³ , μ™„λ£Œλœ 원문과 μ‹€νŒ¨ 기둝을 좜λ ₯ 폴더에 λ‚¨κΉλ‹ˆλ‹€.

μ›λž˜ κ³ μ • νŒŒμΌΒ·μˆ˜μ • μ „ μ‹€νŒ¨Β·μƒˆ 싀행·도ꡬ μ†ŒμŠ€μ™€ μ‹€ν–‰νŒŒμΌ ν•΄μ‹œλ₯Ό ν•¨κ»˜ λ³΄μ‘΄ν•©λ‹ˆλ‹€. 과거와 ν˜„μž¬μ˜ λ¬Έμ„œλ‚˜ 도ꡬ 버전이 달라도 μ–΄λ–€ 쑰건의 관츑인지 λ‹€μ‹œ ν™•μΈν•˜κΈ° μœ„ν•œ μž₯μΉ˜μž…λ‹ˆλ‹€. 곡개 원본과 μ‹€ν–‰ λΉ„μš©.