Reading Body Phase Costs - kimjooyoon/meta-ontology-go GitHub Wiki
๋ฐ๋ ์กฐ๋ฆฝ์ ๋จ๊ณ๋ณ ๋น์ฉ ์ฝ๊ธฐ
์ธก์ 2026-10-03, ์ค์น ํ์ธ 2026-10-04 KST. ๊ฐ๋ฐ #1194์ ๊ณ์ธก ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ์์ฒด ๋ชจ๋ธยท๊ฒฐ์ ๋ก ๋น๊ต๋ฅผ ์๋ฃํ์ต๋๋ค. ๊ฐ๋ฐ #1194๋ ํ์ ์ฌ์ฏ ๊ฒ์ฌ์ ๋ ๋ฆฝ ์์ค ์ฆ๊ฑฐ ๊ฒ์ฆ ๋ค dev 69aebdb5์ ๋ณํฉํ์ต๋๋ค. main #1195๋ ํ์ ์ฌ์ฏ ๊ฒ์ฌ์ ๋ ๋ฆฝ ์ฆ๊ฑฐยทํ์ฌ ๊ฐ๋ฐ treeยทmain ๋ถ๋ชจยท์น๊ฒฉ ๊ฒฐ์์ ํ์ธํด ๋ณํฉํ์ต๋๋ค. ๊นจ๋ํ main 041c8bbf๋ฅผ Go1.27.1๋ก ๋น๋ํ๊ณ ์ค์นํ์ผ๋ฉฐ, ์๋ ๋ช ๋ น์ ์ค์น๋ณธ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์กฐ๋ฆฝ ์์ ๋์ ๋จ๊ณ๋ณ ์ด์๊ณ๋ฅผ ๋ถ์ด๋ ๋ฐฉ์์ ๋๋ค. Gooo๊ฐ ๊ฒฝ๋ก๋ฅผ ๋ง๋๋ ์๊ฐ, ์๋ณธ์ ๋ค์ ํ์ธํ๋ ์๊ฐ, ๋๊ตฌ๋ฅผ ํ์ธํ๊ณ ์ค์ ํ์ ์์ง์ด๋ ์๊ฐ์ ๊ตฌ๋ถํฉ๋๋ค.
์ฌ์ฉํ๊ธฐ
์๋ ๋ช
๋ น์ ํ์ฌ ์ค์นํ gooo์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
gooo body-path-run --source original.gooo --activity Name \
--path-plan recipe.json --cases cases.json --out fresh-run --repeat 2 --timing
gooo body-path-run --verify-timing --out fresh-run
๊ฐ ์์ฒญ์ run-N-timing.json๊ณผ ์ ์ฒด timing-summary.json์ ๋ฐ๋ฆฌ์ด ๋จ์์
๊ตฌ๊ฐ์ ๋จ๊น๋๋ค. ๊ธฐ๋ณธ ์คํ์ ์ด ๊ธฐ๋ก์ ๋ง๋ค์ง ์์ต๋๋ค. ๋ง์ง๋ง ๋ช
๋ น์ ๋ชจ๋ธ์
๋ก๋ํ๊ฑฐ๋ ์ ํ๋ก๊ทธ๋จ์ ์คํํ์ง ์๊ณ ๊ตฌ๊ฐ์ ์ผ๊ด์ฑ๊ณผ ์๋ ํ์ผ SHA256์ ํ์ธํฉ๋๋ค.
์ค์ ๋ก ์จ๋ณธ ๊ฒฐ๊ณผ
์์ฒด 16 KiB ๋ชจ๋ธ๊ณผ ๊ฒฐ์ ๋ก ๊ฒฝ๋ก๋ฅผ ํ๊ตญ์ดยท์์ด ํ์ผ ๋ ๊ฐ์ ์ ์ฉํ์ต๋๋ค. ํ๋ํ ์์ ์ ํ์ ๋ ์์ง์์ 192ํ ์์ฑยท96ํ ์ค์ ๋ชจ๋ธ ํ๋จยท384ํ ์ค์ ์คํ์ ํ์ต๋๋ค. ์๋ ์์ฑ Go์ 24,576๊ฐ ์ ํ ๊ธฐ๋๊ฐ์ ๋ชจ๋ ์ ์งํ์ต๋๋ค. ํ์ต ๊ฐฑ์ ยท์ ์๋ ๊ณผ์ ๋ 0๊ฐ์ ๋๋ค. ๊ฐ์ ์์ ์ ๋ฐ๋ณตํด ๋น์ฉ๊ณผ ๊ฒฐ๊ณผ๋ฅผ ๊ด์ธกํ์ต๋๋ค.
์ต์ข ํ๋ณด์ ์ฌ์ฌ์ฉ ์์ฒญ, ์กฐ๊ฑด๋น ๊ธฐ๋ณธโ๊ณ์ธกโ๊ณ์ธกโ๊ธฐ๋ณธ ์์์์ ์ป์ ์์น์ ๋๋ค.
| ํ์ฌ ์์ฒญ ๊ตฌ๊ฐ | ์ค์๊ฐ |
|---|---|
| ๊ธฐ๋ณธ ์๋ต, 40ํ | 64.77ms |
| ๊ณ์ธก ์๋ต, 40ํ | 64.71ms |
| Go ์คํํ์ผ ์ ์ฒด ํด์ | 14.40ms |
| ์๋ณธยท์ ํ ์ฌ๊ฒ์ฌ | 3.16ms |
| ๊ณต๊ตฌ ๋ด์ฅ ์ ๋ณดยท๋ณด๊ด ํ์ธ | 6.34ms |
| ๋ ์ค์ ์คํ | ๊ฐ๊ฐ 9.61ยท9.36ms |
| ์๋ ๊ฒฐ๊ณผ ํ์ผ ์ ์ฅยท๊ฒฐ์ | ๊ฐ๊ฐ 2.68ยท0.73ms |
| ํ์ฌ ์์ CPU ํฉ, ๊ธฐ๋ณธยท๊ณ์ธก | 13.56ยท13.74ms |
| ํ์ฌ ์์ ์ค ์ต๋ ๋จ์ผ RSS, ์์ชฝ | 4.42MB |
์๊ฐ ๋ฒ์๊ฐ ๊ฒน์ณ ๊ณ์ธก์ ์๋ ํฅ์์ ์ฃผ์ฅํ์ง ์์ต๋๋ค. ํ์ฌ ์๋ฃ์์ ๊ณต๊ตฌ์ ์ ์ฒด ํด์์ ์ค์ ํ๋ก์ธ์ค ์์ยท๋๊ธฐ๊ฐ ํฐ ๊ตฌ๊ฐ์ผ๋ก ๋๋ฌ๋ฌ์ต๋๋ค. ์ด ์ง์ ์ ๋น์ฉ์ ์ค์ด๋ ๋ค์ ์คํ๋ ํ์ฌ ์๋ณธยท๋ด์ฉ ํ์ธ๊ณผ ์ค์ ๋ ์คํ์ ์ ์งํ๋ ์กฐ๊ฑด์ผ๋ก ์งํํฉ๋๋ค.
์ฝ์ ๋ ๊ธฐ์ค
์ค์น main์์๋ 8ํ ์์ฑยท์ค์ ํ๋จ 4ํยท์คํ 16ํ๋ก 1,024/1,024์ ๊ธฐ์กด ์์ฑ Go ์ผ์น๋ฅผ ํ์ธํ์ต๋๋ค. ๋ชจ๋ธ ์ฌ์ฌ์ฉ ์๋ต์ ํ๊ตญ์ด 66.81msยท์์ด 64.48ms, ๊ฒฐ์ ๋ก ์ 67.18ยท63.34ms์์ต๋๋ค. ์ฒซ ์๋ต 623.77โ1,240.08ms๋ ์๋ณธ์ ๋จ๊ฒผ์ต๋๋ค. ์ถ๊ฐ ํ์ผ ๊ฒฐ์ ์ฝ๊ธฐ ๋ค ๋ฒ์ ์ ๋ชจ๋ธ ํ๋จยท์คํ ์์ด ํต๊ณผํ์ต๋๋ค. ์ด ์ค์น ๊ด์ธก๊ณผ ์์ ๋ฒ๊ฐ์ ๋น๊ต ํ๋ ๊ตฌ๋ถํด ์ฝ์ต๋๋ค.
์๋ต์ ํ์ผ ์ ์ฅ ์ ์ ๋๋ฉ๋๋ค. capture๋ ์๋ ๊ฒฐ๊ณผ ์ ์ฅยท๊ฒฐ์๊น์ง ํฌํจํฉ๋๋ค. ์ด๊ธฐ ์ ๋ ฅยท๋ชจ๋ธ ๋ก๋ฉ, ๊ณ์ธก ๋ถ์ ํ์ผยท์์ฝ ์ ์ฅ, stdout์ ์ข ๋ฃ ์ ๋ฆฌ๋ capture ๋ฐ์ ๋๋ค. ๊ตฌ๊ฐ ์๊ฐ๊ณผ ๋ฏธ๋ฐฐ์ ์๊ฐ์ ๋ํ๋ฉด capture๊ฐ ๋ฉ๋๋ค. ์์ฑ ๋ด๋ถ ์์น๋ ๋ฐ๊นฅ ์์ฑ ๊ตฌ๊ฐ์ ํฌํจ๋ฉ๋๋ค. ๋๋ฌํ์ง ์์ ๊ตฌ๊ฐ์ ์๋ตํฉ๋๋ค.
CPU/RSS๋ ํ์ฌ ์์ ๊ด์ธก์ ๋๋ค. ๋ถ๋ชจ ์ปดํ์ผ๋ฌยท๋ชจ๋ธ ๋จ๋ RAMยทํธ์คํธ CPU ์ฌ์ฉ๋ฅ ์ ์ธก์ ํ์ง ์์์ต๋๋ค. ๊ณผ๊ฑฐ ๋ฒ์ ยท๋น๋ ๊ธฐ๋ก์ ๋น์ฉ์ ํ์ฌ CPU์ ํฉ์ฐํ์ง ์์ต๋๋ค. ๊ฒฐ๊ณผ ์ฝ๊ธฐ๋ ํ์ผยท๊ณ์ธก์ ์ผ๊ด์ฑ์ ํ์ธํ๋ฉฐ ์๋ ์คํ์ ์๋ก ๋ณด์ฆํ๋ ๋จ๊ณ๋ก ํด์ํ์ง ์์ต๋๋ค.
Go1.27.1 ํ๋ํ ๊ฒ์ฌ๊ฐ ์๊ตฌํ ๋ฐ๋ณต API ์์ ๊ณผ ์๋ ์คํจ ๋ก๊ทธ๋ ๋จ๊ฒผ์ต๋๋ค. ๊ณต๊ฐ ์์คยท์๋ณธยท์ฌ์คํ๋ฒ, ์์ฒด ์ํ ๋ชจ๋ธ, ํ์ผ ์คํ ์๋ด.