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 ์์ง๊ธฐ ยท ์ง์ ์คํ ยท ํ์ฌ ์ํ.