String Assembly Release 0.6.32 - kimjooyoon/meta-ontology-go GitHub Wiki

๋ฌธ์ž์—ด ํ•จ์ˆ˜์™€ ํ•œ ์กฐ๊ฑด ์กฐ๋ฆฝ์˜ 0.6.32

์—…๋ฐ์ดํŠธ: 2026-10-12.

๊ณต๊ฐœ 0.6.32 ๊ฐœ๋ฐœํŒ์˜ ์†Œ์Šค๋Š” 83928fa4538245abe33b08549da47f8cbdc50ed2์ž…๋‹ˆ๋‹ค. Go 1.27.2์™€ ํŒ๋‹จ SDK 0.2.41์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ณต๊ฐœ ํŒŒ์ผ์˜ ์ฒดํฌ์„ฌยท์ถœ์ฒ˜๋ฅผ ํ™•์ธํ•˜๊ณ  ์‹ค์ œ macOS arm64 ํŒŒ์ผ์„ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ž์—ด ํ•จ์ˆ˜๋ฅผ Gooo์—์„œ ๊ฐ€์ ธ๋‹ค ์“ฐ๊ธฐ

๋ฌธ์ž์—ด ํŒจํ‚ค์ง€๋Š” ๋ถ€๋ถ„ ๋ฌธ์ž์—ด ์ฐพ๊ธฐ, ๊ฒน์น˜์ง€ ์•Š๋Š” ํšŸ์ˆ˜ ์„ธ๊ธฐ, ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž ์ˆ˜๋ฅผ Gooo๋กœ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ Gooo ํŒจํ‚ค์ง€๊ฐ€ ํ•จ์ˆ˜๋ฅผ ๊ฐ€์ ธ์™€ ์œ„์น˜ยทํšŸ์ˆ˜ยท๋ฌธ์ž ์ˆ˜๋ฅผ ๋‹ด์€ ๊ธฐ๋ก๊ฐ’์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์Šค๋ฌด ์ž…๋ ฅ์˜ ๊ฒฐ๊ณผ๋ฅผ Go strings.Index, strings.Count, utf8.RuneCountInString๊ณผ ๋น„๊ตํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž…๋ ฅ Text๋Š” ์˜ฌ๋ฐ”๋ฅธ UTF-8, ์ตœ๋Œ€ 1,024๋ฐ”์ดํŠธ์ž…๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰ ์œ„์น˜๋Š” ๋ฐ”์ดํŠธ ๋‹จ์œ„์ด๋ฉฐ, ๋นˆ ๊ฒ€์ƒ‰์–ด์˜ ํšŸ์ˆ˜๋Š” ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž ์ˆ˜์— ํ•˜๋‚˜๋ฅผ ๋”ํ•œ ๊ฐ’์ž…๋‹ˆ๋‹ค.

์กฐ๊ฑด ํ•˜๋‚˜๋งŒ ๋น„์›Œ ๋‘๊ธฐ

๋ฐ˜๋ณต๋ฌธ๊ณผ ๋ฐ˜ํ™˜ ๊ฐ’์„ ๋ชจ๋‘ ๋ชจ๋ธ์— ๋ถ€ํƒํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๋„๋ฉด์— ์Šค์œ„์น˜ ์ž๋ฆฌ ํ•˜๋‚˜๋ฅผ ๋‚จ๊ธฐ๋“ฏ์ด, Gooo ์†Œ์Šค์—์„œ ๋น„๊ต ์กฐ๊ฑด ํ•˜๋‚˜๋ฅผ ๋น„์šฐ๊ณ  ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ๋‘ ์‹์„ ์ ์Šต๋‹ˆ๋‹ค.

ํ•œ ์กฐ๊ฑด ์˜ˆ์ œ๋Š” ์›ํ•˜๋Š” ๋ฐ”์ดํŠธ๊ฐ€ ์ฒ˜์Œ ๋‚˜์˜จ ์œ„์น˜๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ณต๋ฌธยท๊ธธ์ด ํ™•์ธยท๋ฐ˜ํ™˜์€ ์†Œ์Šค๊ฐ€ ์ง์ ‘ ์ •ํ•˜๊ณ , match ์ž๋ฆฌ์—๋Š” < ๋˜๋Š” ==๋ฅผ ๋„ฃ์–ด ์—ฌ์„ฏ ์„ ํƒ ์‚ฌ๋ก€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋„ค ๋ณด๋ฅ˜ ์‚ฌ๋ก€๋Š” ๋”ฐ๋กœ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ˆ์ œ๋Š” ๋ชจ๋ธ๊ณผ API ํ‚ค ์—†์ด ์ •ํ•ด์ง„ ์ˆœ์„œ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์†Œ์Šค์˜ ๋นˆ์นธ์€ ํ•œ ๊ฐœ๋ถ€ํ„ฐ ์—ฌ๋Ÿ ๊ฐœ๊นŒ์ง€ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํ•ด๋‹น ์†Œ์Šค ์ฒดํฌ์•„์›ƒ ๋ฃจํŠธ์—์„œ ๊ณต๊ฐœ gooo๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

gooo package execute --json \
  --cases examples/single-condition-byte-search/cases.json \
  examples/single-condition-byte-search/gooo.workspace.json > byte-execution.json
gooo package replay --json --receipt byte-execution.json \
  --cases examples/single-condition-byte-search/cases.json \
  examples/single-condition-byte-search/gooo.workspace.json

ํ™•์ธํ•œ ๊ฒฐ๊ณผ์˜ ๋ถ„๋ชจ

๋ณ‘ํ•ฉ ์†Œ์Šค์˜ ๋„ค ํ”Œ๋žซํผ ๊ฒ€์‚ฌ๋Š” ๋‘ ํŒจํ‚ค์ง€๋ฅผ ์‹ค์ œ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ์‹คํ–‰ํ•˜๊ณ  ๊ฐ™์€ ํ”„๋กœ๊ทธ๋žจ์„ ์ €์žฅ ์žฌ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ ์„ ํƒ ์‚ฌ๋ก€ ๋ณด๋ฅ˜ ์‚ฌ๋ก€ ํŒจํ‚ค์ง€ ์‹คํ–‰ยท์ €์žฅ ์žฌ์‹คํ–‰ ๋ชจ๋ธ ํ˜ธ์ถœ
๋ฌธ์ž์—ด ํ•จ์ˆ˜ ๊ณ ์ • ์†Œ์Šค ๋ณ„๋„ ์—†์Œ ๊ฐ๊ฐ 20/20 0
ํ•œ ๋ฐ”์ดํŠธ ์กฐ๊ฑด 6/6 4/4 ๊ฐ๊ฐ 10/10 0

์—ด ๊ฐœ ํŒจํ‚ค์ง€ ์ž…๋ ฅ์€ ๊ทธ ์—ฌ์„ฏ ์„ ํƒยท๋„ค ๋ณด๋ฅ˜ ์ž…๋ ฅ์„ ๋‹ค์‹œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋„ค ํ”Œ๋žซํผ์—์„œ ๋ฐ˜๋ณตํ•œ ๊ฒƒ์€ ํ”Œ๋žซํผ ํ™•์ธ ๋ฒ”์œ„๋ฅผ ๋„“ํž™๋‹ˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ์ž…๋ ฅ ์ˆ˜๋Š” ์Šค๋ฌด ๊ฐœ์™€ ์—ด ๊ฐœ ๊ทธ๋Œ€๋กœ์ž…๋‹ˆ๋‹ค. ๊ฒ€์‚ฌ๋Š” ์†Œ์Šคยท์ž…๋ ฅยทํ”„๋กœ๊ทธ๋žจยท์›๋ž˜ ๊ฒฐ๊ณผ ํŒŒ์ผ์˜ ์‹๋ณ„๊ฐ’๊ณผ ๋ชจ๋“  ์‹ค์ œ ์ถœ๋ ฅ์„ ํ•จ๊ป˜ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ž์ฒด ๋ชจ๋ธ์„ ์‹ค์ œ๋กœ ์“ด ๋‹ค๋ฅธ ๊ด€์ธก

์žฌ์‹œ๋„ ์˜ˆ์‚ฐ ๊ทœ์น™์—๋Š” ๊ธฐ์กด 19,034๊ฐœ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชจ๋ธ์„ ์—ฐ๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ์ œ์•ˆ์€ ์ถœ๋ ฅ 0/6ยท๋ถ„๊ธฐ ์กฐ๊ฑด 3/3์ด์—ˆ์Šต๋‹ˆ๋‹ค. Gooo๊ฐ€ ๋‹ค์Œ ๋ถ„๊ธฐ ๋ฐฐ์น˜๋ฅผ ํ™•์ธํ•œ ๋’ค ์ถœ๋ ฅ 6/6, ์ดํ›„ ์ž…๋ ฅ์˜ ์‹คํ–‰ยท์ €์žฅ ์žฌ์‹คํ–‰ ๊ฐ๊ฐ 8/8์„ ๋งŒ์กฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ํ˜ธ์ถœ์€ ์ฒ˜์Œ ํ•œ ๋ฒˆ์ด๋ฉฐ, ๊ทธ ๊ธฐ๋ก์˜ ์˜ˆ์ธก ์‹œ๊ฐ„์€ ์•ฝ 0.163ms, ๊ฐ€์ค‘์น˜ ๋ฐฐ์—ด์€ ์•ฝ 74KiB์ž…๋‹ˆ๋‹ค. ๋ณ„๋„ ์ƒˆ ํ•™์Šต์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์•˜๊ณ , ํฐ ์ •์ˆ˜์™€ ์›๋ž˜ ์‹คํŒจ๋„ ๊ณต๊ฐœ ๊ธฐ๋ก์— ๋‚จ๊ฒผ์Šต๋‹ˆ๋‹ค.

์ด ๊ด€์ธก์˜ ์‹œํ—˜ ์ƒ์‚ฐ์ž๋Š” UNBOUND_LOCAL_SOURCE์ž…๋‹ˆ๋‹ค. ์•Œ๋ ค์ง„ ์ฒดํฌ์•„์›ƒ ์ •๋ณด์™€ ๊ณต๊ฐœ ๋ฐ”์ด๋„ˆ๋ฆฌ์˜ ์ƒ์‚ฐ์ž ํ™•์ธ์€ ๊ตฌ๋ถ„ํ•ด์„œ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด ๋ฉ”๋ชจ๋ฆฌยท๋ชจ๋ธ ๋‹จ๋… CPU ์ ์œ ์œจยท๋‹ค๋ฅธ ์ž…๋ ฅ์˜ ์ •๋‹ต๋ฅ ์€ ์ธก์ • ๋ฒ”์œ„ ๋ฐ–์ž…๋‹ˆ๋‹ค.

๋ฐœํ–‰ ์‹คํ–‰ ยท ๊ธฐ์ˆ  ์•ˆ๋‚ด ยท ์•ž์„  ๋ฐ”์ดํŠธ ๊ฒ€์ƒ‰.