Reading Hash Allocation - kimjooyoon/meta-ontology-go GitHub Wiki
๋ฐ๋ณต ํ์ผ ํ์ธ์ ๋ฉ๋ชจ๋ฆฌ ๋น์ฉ ์ฝ๊ธฐ
2026-10-04 KST. ๊ฐ๋ฐ #1196์
๊นจ๋ํ ํ๋ณด 08f2d813์์ ์ด์ main 041c8bbf์ ๋น๊ตํ ๊ฒฐ๊ณผ์
๋๋ค.
๊ฐ๋ฐ #1196ยทmain #1197์ ๊ฐ๊ฐ
ํ์ ์ฌ์ฏ ๊ฒ์ฌยท๋
๋ฆฝ ์ฆ๊ฑฐ ๊ฒ์ฆ ๋ค ์ ์ ๋ณํฉํ์ต๋๋ค. ํ์ฌ ๊นจ๋ํ main 93c6463d๋ฅผ
Go1.27.1๋ก ๋น๋ยท์ค์นํ์ต๋๋ค.
์ฌ์ฉํ๋ ๋์ ์ด๋ป๊ฒ ๋ฌ๋ผ์ง๋
์คํ๊ธฐ๋ ์ฒ์ ํ์ํ ๋ 32KiB ๋ฐฐ์ด์ ํ๋ ๋ง๋ค๊ณ ๋ค์ ํ์ผ ํด์์๋ ์ฌ์ฌ์ฉํฉ๋๋ค. ๊ฐ ์คํ๊ธฐ๊ฐ ์๊ธฐ ์ฐจ๋ก์ ๋น๋ ค ์ฐ๋ ์์ ์์ ๋์ ๋น์ทํฉ๋๋ค. ์คํ๊ธฐ๊ฐ ๋ซํ๊ฑฐ๋ ์์ฒญ์ด ์ทจ์๋๋ฉด ๋ฐฐ์ด ์ฐธ์กฐ๋ฅผ ํด์ ํฉ๋๋ค. Go ๊ณต๊ตฌ์ ๋ฐ๋ ์คํํ์ผ ์ ์ฒด๋ ํ์ฌ ๋ฐ์ดํธ๋ฅผ ๊ณ์ ์ฝ์ผ๋ฉฐ, ๋ ์ค์ ์คํ๋ ์ ์งํฉ๋๋ค.
ํ์ผ ํฌ๊ธฐ๋ 256MiB๊น์ง ํ์ฉํ๊ณ ์ค์ ์ฝ๊ธฐ๋ ํ ๋ฐ์ดํธ์ ์ด๊ณผ ๊ฐ์ง๋ฅผ ํฌํจํด ์ ํํฉ๋๋ค. ์ฝ์ ๊ธธ์ด๊ฐ ์ฒ์ ํฌ๊ธฐ์ ๋ฌ๋ผ์ง๋ฉด ์คํจํฉ๋๋ค. ์ด๋ฆฐ ํ์ผ์ ๋ด์ฉ๊ณผ ๊ธธ์ด๋ฅผ ํ์ธํ๋ ๋ฒ์์ด๋ฉฐ, ํ์ผ์์คํ ์ ์ฒด๋ฅผ ์์์ ์ผ๋ก ๊ณ ์ ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์์ต๋๋ค.
--timing์ ํฐ๋ฏธ๋์์ ์คํ๋์ง ์์ ๋จ๊ณ๋ unobserved๋ก ๋ณด์
๋๋ค.
์ฒซ ์คํ๋ง ๋๋ ๊ฒฝ์ฐ์๋ ๋ ์คํ์ ํฉ๊ณ๋ unobserved์ด๊ณ , JSON์๋ ๊ด์ธกํ
๊ฐ ์คํ์ด ๋จ์ต๋๋ค. ๊ด์ธกํ 0์ 0.000ms์
๋๋ค. ์คํจํ ๋จ๊ณ๊ฐ ๋ฌด๋ฃ๋ก ์คํ๋
๊ฒ์ฒ๋ผ ์ฝํ๋ ํผ๋์ ์ค์์ต๋๋ค. ๋จ๊ณ ๊ธฐ๋ก์ ์ฌ์ฉ๋ฒ.
ํ์ธํ ์ซ์
๋จผ์ ๋ ์คํํ์ผ๊ณผ ์ฌ์ฏ ๋ณต์ฌ ๋ฐฉ์์ผ๋ก 192ํ ํด์ํด ํฌ๊ธฐ๋ฅผ ๋น๊ตํ์ต๋๋ค. ํฐ ๋ฒํผ๋ก ๊ณต๊ตฌ ํด์๊ฐ ์ผ๊ด๋๊ฒ ๋นจ๋ผ์ง์ง๋ ์์์ต๋๋ค. ๋ฎ์ ๋ณด๊ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ํด 32KiB๋ฅผ ์ ํํ์ต๋๋ค. ๊ตฌํ์ 1MiB ํ์ผ ๋ฐ๋ณต ๋ฒค์น๋งํฌ์์ ํธ์ถ๋น ํ ๋น์ ์ฝ 33.5kB โ 0.8kB, ํ์๋ ์์ชฝ 9ํ์์ต๋๋ค. ์คํ๊ธฐ๋ง๋ค ์ต์ด ๋ณด๊ด ๋ฐฐ์ด ํ๋๋ฅผ ๋ฐ๋ก ๋ง๋ค๋ฉฐ, ์ด ์ค๋น๋ ์ฌ์ฌ์ฉ ์์น ๋ฐ์ ๋๋ค.
๊ฐ์ ๊ธฐ์กด ํ์ ์๋ณธ ๋ ๊ฐ์์ ๋ชจ๋ธยท๊ฒฐ์ ๋ก ์ ์ด์ โํ๋ณดโํ๋ณดโ์ด์ ์์๋ก ์ค์ ๋ก ์ฌ์ฉํ์ต๋๋ค. ์ฐฝ๋ง๋ค ์ฌ์ฏ ์์ฒญ, ์ ์ฒด 96ํ ์์ฑยท48ํ ๋ชจ๋ธ ํ๋จยท192ํ ๋ฐ๋ ์คํ์์ 12,288/12,288 ์ ํ ๊ธฐ๋๊ฐ๊ณผ ๊ณ ์ ์์ฑ Go๋ฅผ ์ ์งํ์ต๋๋ค. ์ ์ฅ ํ์ผ ์ฝ๊ธฐ ์ ์ฉ ํ์ธ 16ํ๋ ํต๊ณผํ์ต๋๋ค. ์ ์๋ ๊ณผ์ ์ ํ์ต ๊ฐฑ์ ์ 0๊ฐ์ ๋๋ค.
| ์ฌ์ฌ์ฉ ์์ฒญ์ ์ค์๊ฐ, ๊ฐ 40ํ | ์ด์ ์ค์น | ํ๋ณด |
|---|---|---|
| ์๋ต | 64.13ms | 65.88ms |
| ๊ณต๊ตฌ ์ ์ฒด ํด์ | 15.19ms | 15.03ms |
| ํ์ฌ ์์ CPU ํฉ | 12.82ms | 13.20ms |
| ํ์ฌ ์์ ์ค ์ต๋ ๋จ์ผ RSS | 4.42MB | 4.42MB |
์ด๋ฒ ๋ณํ์์ ํ์ธํ ์ฑ๊ณผ๋ ํด์ ํธ์ถ์ ํ ๋น ๊ฐ์์ ํ์ ๊ฐ์ ์ ๋๋ค. ์๋ต ์๊ฐ ๋ฒ์๋ ๊ฒน์ณค๊ณ ์ผ๋ฐ์ ์ธ ์๋ ๊ฐ์ ์ ํ๋จํ ๊ทผ๊ฑฐ๋ ๋ถ์กฑํฉ๋๋ค. ์ CPU/RSS๋ ํ์ฌ ์์๋ง ์ง๊ณํฉ๋๋ค. ๋ถ๋ชจ ์ปดํ์ผ๋ฌ์ ํด์ ๋น์ฉ, ๋ชจ๋ธ ๋จ๋ RAM๊ณผ ํธ์คํธ CPU ์ฌ์ฉ๋ฅ ์ ๋ณ๋ ์ธก์ ์ด ํ์ํฉ๋๋ค. macOS arm64/Apple M4/Go1.27.1์ ๊ธฐ์กด ๋ ์๋ ๋ฐ๋ณต์ ๋๋ค.
๊ณต๊ฐ ์๋ณธยท์คํจยทGo ์์ง๊ธฐ์ ์ฌ์คํ.
์ค์น๋ณธ์์ ํ์ ๋ชจ๋ธยท๊ฒฐ์ ๋ก 8ํ ์์ฑยท4ํ ์ค์ ํ๋จยท16ํ ์คํ์ผ๋ก 1,024/1,024์
๊ณ ์ ์์ฑ Go๋ฅผ ํ์ธํ์ต๋๋ค. ๋ชจ๋ธ ์ฌ์ฌ์ฉ ์๋ต 69.42ยท62.53ms, ๊ฒฐ์ ๋ก 65.49ยท60.34ms์
์ต์ด ์๋ต๋ ๋ณด์กดํ์ต๋๋ค. ๊ณต๊ตฌ๊ฐ ์๋ ํ ์์ฒญ์ ์ข
๋ฃ 1, ๋ชจ๋ธยท๋ฐ๋ ์คํ 0ํ,
128๊ฐ ๊ธฐ๋๊ฐ ๋ฏธ๊ด์ธก๊ณผ native unobserved๋ฅผ ๋จ๊น๋๋ค. ์ฑ๊ณตยท์คํจ ์ ์ฅ ๊ธฐ๋ก์
์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ๋ค์ฏ ๋ฒ ํ์ธํ์ต๋๋ค.
์คํ ๊ณต๊ตฌ์ FIFO๋ฅผ ์ง์ ํ์ ๋ ํ์ผ์ ์ฌ๋ ๋จ๊ณ์์ ๊ธฐ๋ค๋ฆฌ๋ ๋ฌธ์ ๋ ๊ด์ธกํ์ต๋๋ค.
ํด๋น ํ๋ก์ธ์ค๋ฅผ ํ์ธยท์ข
๋ฃํ๊ณ ์๋ณธ์ ๋ณด์กดํ์ต๋๋ค. ๊ฐ๋ฐ #1198์์
Unix์ ๋น์ฐจ๋จ ์ด๊ธฐ์ ์ค์ ํ์ผ ์ข
๋ฅ ๊ฒ์ฌ๋ฅผ ์ถ๊ฐํด ํ์ CIยท๋
๋ฆฝ ์ฆ๊ฑฐ ๋ค ๊ฐ๋ฐ์
๋ณํฉํ์ต๋๋ค. main #1199๋ ์์ฒด ๊ฒ์ฌยท๋
๋ฆฝ ์ฆ๊ฑฐ ๋ค ๋ณํฉํ๊ณ 93fa2742๋ฅผ ์ค์นํ์ต๋๋ค.
์ค์ ํ๋ณด FIFO๋ 0.60์ด, ์ ์ค์น๋ณธ์ 19.665ms์ ์ค๋ฅ๋ฅผ ์๋ฆฌ๊ณ ์ข
๋ฃํ์ต๋๋ค.
์ค๋นยท์บ์ ์กฐ๊ฑด์ด ๋ฌ๋ผ ๋ ์๋ณธ์ ๋ณด์กดํฉ๋๋ค. ์คํจ๋ฅผ ์ฝ๊ณ ๋ค์ ์คํํ๊ธฐ.