Reading Input Files - kimjooyoon/meta-ontology-go GitHub Wiki

์†Œ์Šคยท๋ ˆ์‹œํ”ผยท๋ชจ๋ธ ํŒŒ์ผ์„ ์ฝ๋Š” ๊ตฌ๊ฐ„

์ตœ๊ทผ ์„ค์น˜ ๊ธฐ์ค€์€ main 4f6c7566ยทSDK v0.2.21์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ #1206ยทmain #1207์˜ ๊ฐ ์ž์ฒด CIยท๋…๋ฆฝ ์†Œ์Šค ์ฆ๊ฑฐ์™€ ํ˜„์žฌ ๋ธŒ๋žœ์น˜๋ฅผ ํ™•์ธํ•œ ๋’ค ์ •์ƒ ๋ณ‘ํ•ฉํ•˜๊ณ  ๋‘ ์‹คํ–‰๊ธฐ๋ฅผ ๊ฐ™์€ ์†Œ์Šค๋กœ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ๊ณต๋™ ๋ชจ๋ธ ๊ต์ฒด 128ํšŒ๋Š” ํ•ด์ œยท์‹œ๊ฐ„ ์ดˆ๊ณผ 0ํšŒ์ด๋ฉฐ, ์ •์ƒ 35ํšŒ์—์„œ 4,480/4,480๊ณผ ์ด์ „ Go๋ฅผ ์œ ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ณ„๋„ ์ผ๋ฐ˜ ์‹คํ–‰ 1,024/1,024ยท๋™์‹œ ์‹คํ–‰ 512/512ยท์‹ค์ œ ํ—ˆ๊น…ํŽ˜์ด์Šค ๋‹ค์šด๋กœ๋“œ ์˜ˆ์ œ 6/6๋„ ์œ ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ ๋‘ ๊ฐœ๋งŒ ๋ฐ›๋Š” ๋ฐฉ๋ฒ• ยท ์ƒˆ ์„ค์น˜ยท์ด์ „ ์‹คํŒจยทํ˜„์žฌ ์›๋ณธ.

์ƒˆ ๋™์‹œ ์‹คํ–‰๊ธฐ์˜ ๋ชจ๋ธ ๊ตฌ๊ฐ„์€ ์ „์ฒด 1.796์ดˆยทCPU 1.306์ดˆ, ํ•œ ์ฝ”์–ด ๊ธฐ์ค€ ํ‰๊ท  72.69%์ž…๋‹ˆ๋‹ค. ๊ฒฐ์ •๋ก  ๊ตฌ๊ฐ„์€ ์ „์ฒด 1.273์ดˆยทCPU 1.311์ดˆ, ํ‰๊ท  103.00%์ž…๋‹ˆ๋‹ค. ์ค€๋น„ยท์ƒ์„ฑยทํ˜„์žฌ ์‹คํ–‰ยทEOF ์ข…๋ฃŒ์™€ ์ž์‹ ํ”„๋กœ์„ธ์Šค๋ฅผ ํฌํ•จํ•˜๋ฉฐ ๋ณ‘๋ ฌ๋กœ ์—ฌ๋Ÿฌ ์ฝ”์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ ์ „์ฒด ์‚ฌ์šฉ๋ฅ ๊ณผ ๋ชจ๋ธ ๋‹จ๋… RAM์€ ๋ฏธ๊ด€์ธก์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ d1bfd273ยทSDK20๊ณผ ์ดˆ๊ธฐ ํ›„๋ณด์˜ ๊ด€์ธก์€ ๊ฐ ์†Œ์Šค ์‹œ์ ์˜ ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค.

2026-10-04 KST. ๊ฐœ๋ฐœ #1202์˜ ์†Œ์Šค 0eb69e5f์˜ ์ž์ฒด CI์™€ ๋…๋ฆฝ ์ฆ๊ฑฐ ํ™•์ธ์„ ํ†ต๊ณผํ•ด ๊ฐœ๋ฐœ a11a3f08์— ๋ณ‘ํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฐํฌ #1203๋„ ๊ฐ™์€ ํŠธ๋ฆฌ์˜ 22c2c914๋ฅผ ์ž์ฒด ๊ฒ€์‚ฌํ•˜๊ณ  ๋…๋ฆฝ ์ฆ๊ฑฐยทํ˜„์žฌ ๋ธŒ๋žœ์น˜๋ฅผ ํ™•์ธํ•œ ๋’ค ์ •์ƒ ๋ณ‘ํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. CLI์™€ ๋ฐ”๋”” ์‹คํ–‰๊ธฐ๋ฅผ main d1bfd273ยทGo1.27.1ยทSDK v0.2.20์œผ๋กœ ํ•จ๊ป˜ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ํ›„๋ณด 1a47cb16์˜ ์„ฑ๊ณตํ•œ CI์™€ ๊ด€์ธก ๊ธฐ๋ก์€ ๋ณ„๋„๋กœ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค.

์ƒˆ ์„ค์น˜๋ณธ์˜ ์‹ค์ œ ๊ฒฝ๋กœ ๊ต์ฒด 64ํšŒ๋Š” ํ•ด์ œยท์‹œ๊ฐ„ ์ดˆ๊ณผ 0ํšŒ์˜€์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ํŒŒ์ผ ์™„๋ฃŒ 33ํšŒ๋Š” 4,224/4,224์™€ ์ด์ „ Go๋ฅผ ์œ ์ง€ํ–ˆ๊ณ  31ํšŒ๋Š” ์ƒ์„ฑ ์ „ ํŒŒ์ผ ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. order-judge ๋ชจ๋ธ ์ •๋ณดยท๊ฐ€์ค‘์น˜ FIFO๋„ ๊ฐ๊ฐ 6.26/5.51ms ์ „์ฒด CLI ์‹œ๊ฐ„์— ํ•ด์ œ ์—†์ด ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ณ„๋„ ๋ชจ๋ธยท๊ฒฐ์ •๋ก  1,024/1,024์™€ ์‹คํ–‰๊ธฐ ๋™์‹œ ์š”์ฒญ 512/512๋„ ์œ ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‘ ์‹คํ–‰๊ธฐ์˜ ์†Œ์Šคยทํ•ด์‹œยทCI ๊ทผ๊ฑฐ๋ฅผ ์„ค์น˜ ๊ธฐ๋ก์— ํ•จ๊ป˜ ๋‚จ๊ฒผ์Šต๋‹ˆ๋‹ค.

body-path-run์€ ์†Œ์Šคยท๋ ˆ์‹œํ”ผยท๊ธฐ๋Œ€๊ฐ’ยท์„ ํƒ์ ์ธ ์˜ต์…˜ ํŒŒ์ผ์„ ๋จผ์ € ์ฝ๊ณ  ๋ชจ๋ธ์„ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ ๋ฐ”๋””๋ฅผ ์กฐ๋ฆฝํ•˜๊ณ  ์‹ค์ œ๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ์‹œ์ž‘ ๊ตฌ๊ฐ„์—์„œ ์ฝ์„ ํŒŒ์ผ์ด FIFO์ฒ˜๋Ÿผ ์“ฐ๊ธฐ ์ชฝ์˜ ์—ฐ๊ฒฐ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ํŠน์ˆ˜ ํŒŒ์ผ์ด๋ฉด ๋Œ€๊ธฐ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฐํฌํ•œ ์ˆ˜์ •๊ณผ ๊ธฐ์กด ๊ด€์ธก

์›๋ž˜ ๊ตฌํ˜„์€ ๊ฒฝ๋กœ์˜ ์ข…๋ฅ˜๋ฅผ ํ™•์ธํ•œ ๋’ค ํŒŒ์ผ์„ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋‘ ํ˜ธ์ถœ ์‚ฌ์ด์— ๊ฒฝ๋กœ๊ฐ€ FIFO๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ๋ฐ”๋€Œ๋ฉด ํŒŒ์ผ ์—ด๊ธฐ์—์„œ ๊ธฐ๋‹ค๋ ธ์Šต๋‹ˆ๋‹ค. ๊นจ๋—ํ•œ ์„ค์น˜๋ณธ์˜ ์‹ค์ œ 14ํšŒ ๊ฒฝ๋กœ ๊ต์ฒด ์ค‘ ํ•œ ์š”์ฒญ์€ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ 500ms ๋’ค ์œ ์ผํ•œ ์“ฐ๊ธฐ ์ชฝ์„ ์—ด์ž ์ข…๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ˆซ์ž๋Š” ์˜๋„์ ์œผ๋กœ ํ•ด์ œํ•œ ์‹œ์ ์ž…๋‹ˆ๋‹ค. ๋‹น์‹œ ๋ชจ๋ธ ์ค€๋น„ยท๊ฒฐ๊ณผ ํด๋” ์ƒ์„ฑ์€ ์‹œ์ž‘๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ˆ˜์ • ๋‹น์‹œ ํ›„๋ณด 0eb69e5f๋Š” Unix์—์„œ ๋น„์ฐจ๋‹จ์œผ๋กœ ์—ฐ ๋‹ค์Œ ์—ด๋ฆฐ ํŒŒ์ผ ์ž์ฒด๋ฅผ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. 64ํšŒ ์‹ค์ œ ๊ต์ฒด ์ค‘ ์“ฐ๊ธฐ ์ชฝ ํ•ด์ œยท์‹œ๊ฐ„ ์ดˆ๊ณผ๋Š” 0ํšŒ์˜€์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ํŒŒ์ผ์„ ์ฝ์€ 25ํšŒ๋Š” ์ƒ์„ฑ Go์™€ 3,200/3,200 ๊ธฐ๋Œ€๊ฐ’์„ ์œ ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ 39ํšŒ๋Š” ์ฝ๊ธฐ ๊ตฌ๊ฐ„์˜ ํŒŒ์ผ ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ ์ƒํƒœ๋ณ„ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ•˜๋ฉฐ ๋ชจ๋ธ ํŒ๋‹จ ํšŸ์ˆ˜๋Š” 0ํšŒ์ž…๋‹ˆ๋‹ค.

๋ชจ๋ธ ์ •๋ณด JSON๊ณผ order-judge ๊ฐ€์ค‘์น˜๋„ ์›๋ž˜ ์„ค์น˜์—์„œ ๊ฐ™์€ ๋Œ€๊ธฐ๋ฅผ ์žฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ›„๋ณด๋Š” ๋‘ ๊ตฌ๊ฐ„์— ๊ฐ™์€ ์—ด๊ธฐ ๋ฐฉ์‹์„ ์ ์šฉํ•ด ์“ฐ๊ธฐ ์ƒ๋Œ€ ์—†์ด ํŒŒ์ผ ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ์ •๋ณด ์˜ค๋ฅ˜ ์ฒซ ์‘๋‹ต์˜ ์ด 528.79ms๋„ ๋ณด์กดํ•˜๋ฉฐ ์ด๋ฅผ ์ฒ˜๋ฆฌ ์†๋„ ๊ฐœ์„ ์œจ๋กœ ํ™˜์‚ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‹คํ–‰ํ•  ๋•Œ์˜ ๊ธฐ์ค€

์ž…๋ ฅ ์ƒํ•œยท๋‚ด์šฉ
--source 128KiB, ๋น„์–ด ์žˆ์ง€ ์•Š์€ UTF-8 ์ผ๋ฐ˜ ํŒŒ์ผ
--path-plan 256KiB, ์ „์ฒด ๊ณ„ํš ๋˜๋Š” ์งง์€ ๋ ˆ์‹œํ”ผ JSON
--cases 32KiB, ๋ณ„๋„ ์‹คํ–‰ ๊ธฐ๋Œ€๊ฐ’ JSONยท1~128๊ฐœ
--options 64KiB, ์„ ํƒ์ ์ธ ์˜ต์…˜ JSON
--model์˜ ์ •๋ณด JSON 64KiB ์ด๋‚ด์˜ ๊ตฌ์กฐ ๋ชจ๋ธ ์ •๋ณด
order-judge weights.bin ์ •ํ™•ํžˆ 16,384๋ฐ”์ดํŠธ, ๊ธฐ์กด ํ˜•์‹ยทํ•ด์‹œ ๊ฒ€์ฆ

์†Œ์Šคยท๋ ˆ์‹œํ”ผยท๊ธฐ๋Œ€๊ฐ’ยท์˜ต์…˜์—์„œ๋Š” ์ผ๋ฐ˜ ํŒŒ์ผ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ ์—†์Œยท๊ถŒํ•œ ์‹คํŒจ์˜ ์›๋ž˜ ํŒŒ์ผ์‹œ์Šคํ…œ ์›์ธ๋„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. Unix์˜ ๋น„์ฐจ๋‹จ ์—ด๊ธฐ๋Š” ์ž…๋ ฅ ์ข…๋ฅ˜ ๊ฒ€์‚ฌ์— ์ ์šฉํ•˜๋ฉฐ Windows๋Š” ๊ธฐ์กด ์—ด๊ธฐ ์ „ ํ™•์ธ๊ณผ ์—ด๋ฆฐ ํŒŒ์ผ ๊ฒ€์‚ฌ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. Windows arm64์˜ ์ด๋ฒˆ ์ฆ๊ฑฐ๋Š” ๊ต์ฐจ ์ปดํŒŒ์ผ์ž…๋‹ˆ๋‹ค.

๊ณต๋™ ๋ชจ๋ธ ๋“ฑ SDK ํ”„๋กœํ•„์€ ๋ชจ๋ธ ์ •๋ณดยท๊ฐ€์ค‘์น˜์˜ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๊ฑฐ๋ถ€ํ•˜๋Š” ๊ธฐ์กด ๊ทœ์น™์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ SDK ์ˆ˜์ •์€ ์ด ๊ทœ์น™๊ณผ ํ˜•์‹ยทํ•ด์‹œ ๊ฒ€์ฆ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์ฝ๊ธฐ ์‹œ์ž‘์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

๊ณต๋™ ๋ชจ๋ธ์˜ ํ›„์† ์ฝ๊ธฐ

์„ค์น˜๋ณธ d1bfd273ยทSDK v0.2.20์—์„œ ์ดˆ๊ธฐ ๋ชจ๋ธ ์ •๋ณด๋ฅผ ์ฝ์€ ๋’ค ๊ณต๋™ ๋ชจ๋ธ ๋กœ๋”๊ฐ€ ๋‹ค์‹œ ์—ฌ๋Š” ๊ตฌ๊ฐ„์˜ ๋Œ€๊ธฐ๋ฅผ ์ถ”๊ฐ€๋กœ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹คํ—˜์ด ์†Œ์œ ํ•œ ์ผ๋ฐ˜ ํŒŒ์ผ๊ณผ FIFO๋ฅผ ํ•˜๋“œ๋งํฌ๋กœ ๊ต์ฒดํ–ˆ์Šต๋‹ˆ๋‹ค. ์ •๋ณด ํŒŒ์ผ 40๋ฒˆ์งธ ์š”์ฒญ์€ ์œ ์ผํ•œ ์“ฐ๊ธฐ ์ชฝ์„ 500ms ๋’ค ์—ด์ž ํŒŒ์ผ ๋ณ€๊ฒฝ ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด 505.24ms์—๋Š” ์˜๋„ํ•œ ๋Œ€๊ธฐ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ ํด๋” ์ƒ์„ฑ ์ „ ์ข…๋ฃŒ 1์ด์—ˆ๊ณ  ์ž์‹ยท๊ต์ฒด ์ž‘์—… ๋ชจ๋‘ ์ข…๋ฃŒ๋ฅผ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์ค‘์น˜ ์ชฝ 64ํšŒ์—์„œ๋Š” ๊ฐ™์€ ๋Œ€๊ธฐ๊ฐ€ ์žฌํ˜„๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ „์ฒด 104ํšŒ ๊ฐ€์šด๋ฐ ์ •์ƒ 36ํšŒ๋Š” ๊ณต๋™ ๋ชจ๋ธ ํŒ๋‹จ 36ํšŒยท์‹ค์ œ ์‹คํ–‰ 72ํšŒ์—์„œ 4,608/4,608์„ ์œ ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ณ„๋„ ์ •์ƒ ์š”์ฒญ์€ ํŒ๋‹จ 1ํšŒยท์‹คํ–‰ 2ํšŒยท128/128์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ๊ณผ์ œ๋ฅผ ๋ฐ˜๋ณตํ•œ ๊ด€์ธก์ด๋ฉฐ ์ƒˆ ํ•™์Šต์€ 0ํšŒ์ž…๋‹ˆ๋‹ค.

SDK v0.2.21์€ ๋‹จ์ผยท๊ณต๋™ยท๊ณต์œ  ์„ธ ์„ ํƒ ๋ชจ๋ธ์˜ ์ฝ๊ธฐ๋ฅผ ํ•˜๋‚˜๋กœ ๋ชจ์•˜์Šต๋‹ˆ๋‹ค. Unix ๋น„์ฐจ๋‹จยท๋งํฌ ๋ฏธ์ถ”์  ์—ด๊ธฐ ํ›„ ์—ด๋ฆฐ ํŒŒ์ผ์˜ ์ข…๋ฅ˜ยท๋™์ผ์„ฑยทํฌ๊ธฐ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๊ต์ฒด ๋Œ€๊ธฐ ํšŒ๊ท€ ํ…Œ์ŠคํŠธ์™€ SDK์˜ ๊ธฐ์กด ์‚ฐ์ˆ ยทํ›„๋ณด ์žฌํ˜„ CI๋ฅผ ํ†ต๊ณผํ•ด ๋ณ‘ํ•ฉยท๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. 18,432๊ฐœ ๊ณ ์ • ์ž…๋ ฅ์˜ ์‚ฐ์ˆ  ๊ธฐ๋ก์„ ๋‹ค์‹œ ๋น„๊ตํ–ˆ์œผ๋ฉฐ ๊ฐ€์ค‘์น˜๋Š” ๊ทธ๋Œ€๋กœ์ž…๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ ์ฑ„ํƒ๊ณผ ์ƒˆ ์„ค์น˜ ๋น„๊ต๋Š” ์œ„์˜ main 4f6c7566์—์„œ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ d1bfd273 ์„ค์น˜ ๊ด€์ธก์€ v0.2.20์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

์›๋ณธ ๊ด€์ธกยท์žฌ๊ณ„์‚ฐ ๋„๊ตฌยท์†Œ์Šค์™€ SDK ๊ฒฐ์†.

์ฝ๊ธฐ ๊ตฌ๊ฐ„์—์„œ ์‹คํŒจํ•˜๋ฉด ์›๋ž˜ ์˜ค๋ฅ˜์™€ ์ข…๋ฃŒ 1์„ ํ™•์ธํ•˜๊ณ  ์ž…๋ ฅ ๊ฒฝ๋กœ๋ฅผ ๊ณ ์นœ ๋’ค ์ƒˆ ๊ฒฐ๊ณผ ํด๋”๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ๋Š” runtime ๊ธฐ๋Œ€๊ฐ’ ๋ถ„๋ชจ๊ฐ€ ์•„์ง ์„ฑ๋ฆฝํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑ๋œ ๋’ค์˜ ๊ณต๊ตฌ ์กฐํšŒ ์‹คํŒจ๋‚˜ ์‹ค์ œ ์ถœ๋ ฅ ๋ถˆ์ผ์น˜๋Š” ๊ด€์ธก ์ฝ๊ธฐ๋ฅผ ๋ด…๋‹ˆ๋‹ค.

๋ณ„๋„ ํ•œ์˜ ๋ชจ๋ธยท๊ฒฐ์ •๋ก  ๋ฐ˜๋ณต์€ 8ํšŒ ์ƒ์„ฑยทํŒ๋‹จ 4ํšŒยท์‹คํ–‰ 16ํšŒ์—์„œ 1,024/1,024์™€ ์ด์ „ Go๋ฅผ ์œ ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ›„๋ณด ๋ชจ๋ธ ์žฌ์‚ฌ์šฉ ์‘๋‹ต์€ 25.32ยท27.57ms์˜€๊ณ  ์ฒซ ์‘๋‹ต๋„ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค. ๊ฐ™์€ ๊ธฐ์กด ๋‘ ์˜๋„๋ฅผ ๋ฐ˜๋ณตํ–ˆ์œผ๋ฉฐ ๊ฐ€์ค‘์น˜ยทํ•™์Šต ๊ฐฑ์‹ ์€ 0ํšŒ์ž…๋‹ˆ๋‹ค. ์ด ์‘๋‹ต ์‹œ๊ฐ„์€ ๋ฐ”๋”” ์ƒ์„ฑ๊ณผ ์‹ค์ œ ์‹คํ–‰์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ ํŒ๋‹จ ๋‹จ๋… ์‹œ๊ฐ„์€ ๋ฏธ๊ด€์ธก์ž…๋‹ˆ๋‹ค.

๋ณ„๋„ ์‹คํ–‰๊ธฐ์—์„œ๋„ ํ•œ์˜ ์š”์ฒญ์„ ๋™์‹œ์— ๋‘ ๊ฐœ์”ฉ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ์‚ฌ์šฉยท๊ฒฐ์ •๋ก  4๊ฐœ ๊ตฌ์„ฑยทํŒ๋‹จ 2ํšŒยท์‹คํ–‰ 8ํšŒ์—์„œ 512/512์™€ ์ด์ „ Go๋ฅผ ์œ ์ง€ํ–ˆ๊ณ  ๋‘ ํ”„๋กœ์„ธ์Šค ๋ชจ๋‘ ์‹œ๊ฐ„ ์ดˆ๊ณผ ์—†์ด ์ข…๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ™•์ธ์€ ๋ฐฐํฌ ํ›„๋ณด 22c2c914์˜ ๊ด€์ธก์ž…๋‹ˆ๋‹ค.

์„ค์น˜๋œ ์‹คํ–‰๊ธฐ์˜ ๋™์‹œ ๋ชจ๋ธ ์š”์ฒญ ๋‘ ๊ฐœ๋Š” ์ „์ฒด 1.008์ดˆ์— CPU 0.468์ดˆ, ๊ฒฐ์ •๋ก  ๋‘ ๊ฐœ๋Š” ์ „์ฒด 0.584์ดˆ์— CPU 0.462์ดˆ์˜€์Šต๋‹ˆ๋‹ค. OS์˜ ์‹คํ–‰๊ธฐยท์ž์‹ ํ”„๋กœ์„ธ์Šค ์‹œ๊ฐ„์„ ๊ธฐ๋กํ•œ ๊ฐ’์ž…๋‹ˆ๋‹ค. ์ „์ฒด ์‹œ๊ฐ„์—๋Š” ์ค€๋น„ยท์ƒ์„ฑยท์‹คํ–‰ยทEOF ์ข…๋ฃŒ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ ์‚ฌ์šฉ ์š”์ฒญ์˜ ์ •์ƒ ์žฌ์‚ฌ์šฉ ์‘๋‹ต์€ ํ•œ์˜ 25.21/27.78ms์˜€๊ณ  ์ฒซ ์‘๋‹ต๋„ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ ์ „์ฒด CPU ์‚ฌ์šฉ๋ฅ ๊ณผ ๋ชจ๋ธ ๋‹จ๋… RAMยท์ถ”๋ก  ์‹œ๊ฐ„์€ ๋ฏธ๊ด€์ธก์ž…๋‹ˆ๋‹ค.

์˜ค๋ฅ˜๋ฅผ ์ฝ๊ณ  ๋‹ค์Œ ์‹คํ–‰ ์ค€๋น„ํ•˜๊ธฐ

๋ณด์ด๋Š” ์ƒํƒœ ํ™•์ธํ•  ํ•ญ๋ชฉ
ํŒŒ์ผ ์˜ค๋ฅ˜, ๊ฒฐ๊ณผ ํด๋” ์—†์Œ ๊ฒฝ๋กœ๊ฐ€ ์‹ค์ œ ์ผ๋ฐ˜ ํŒŒ์ผ์ธ์ง€, ์ฝ๊ธฐ ๊ถŒํ•œยทํฌ๊ธฐยทUTF-8 ํ™•์ธ
๋ชจ๋ธ ํŒŒ์ผ ์˜ค๋ฅ˜ ์ •๋ณด JSON๊ณผ ๊ฐ™์€ ํด๋”์˜ ๊ฐ€์ค‘์น˜ยทํ”„๋กœํ•„ยทํ•ด์‹œ ํ™•์ธ
๊ฒฐ๊ณผ ํด๋” ์žˆ์Œ, ๊ณต๊ตฌ ์กฐํšŒ ์˜ค๋ฅ˜ Go ์‹คํ–‰ ํŒŒ์ผ ๊ฒฝ๋กœ์™€ ์ค€๋น„ ๋‹จ๊ณ„ ํ™•์ธ
์‹ค์ œ ์‹คํ–‰ ๋’ค ๊ธฐ๋Œ€๊ฐ’ ๋ถˆ์ผ์น˜ ์›๋ณธ ์ž…๋ ฅยท์‹ค์ œ ์ถœ๋ ฅยท์„ ํƒ ๊ฒฝ๋กœ๋ฅผ ๋ณด๊ด€ํ•œ ๊ฒฐ๊ณผ์—์„œ ํ™•์ธ

๊ธฐ๋Œ€๊ฐ’์ด ๋ฏธ๊ด€์ธก์ด๋ฉด ์‹คํ–‰์„ ์œ„ํ•œ ์ค€๋น„๋ถ€ํ„ฐ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๊ด€์ธกํ•œ 0๊ฐœ ์„ฑ๊ณต์€ ๋ณ„๋„ ์ƒํƒœ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ถ„๋ชจ์™€ ๋ชจ๋ธ ์„ ํƒ ์ ์ˆ˜๋ฅผ ํ•จ๊ป˜ ์ฝ์œผ๋ฉด ์™„์ „์„ฑ์˜ ๋ฒ”์œ„๋ฅผ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์›๋ณธ ๋Œ€๊ธฐยท๋‹จ์œ„ ์‹คํŒจยท64ํšŒ ๊ต์ฒดยทGo ์ˆ˜์ง‘๊ธฐ ยท ์ง์ ‘ ์‹คํ–‰ ยท ํ˜„์žฌ ์ƒํƒœ.