์์ฆ ์ ๋ํฐ๋ก ๋ง์ธํฌ์ ๊ฐ์ ์์คํ ์ ๋ง๋ค๊ณ ์๋๋ฐ
์ด๋ค์์ธ์ง ๋ด์์ ์ค๋ช ์ถฉ์ด ๋์ด์ฌ๋ผ์ ์กฐ๊ธ ์๊ฐํจ
1. ์ฒญํฌ
๋ญ ๋ง์ธํฌ๊ฐ ์ฒญํฌ๋จ์๋ก ๋ธ๋ก์ ๊ด๋ฆฌํ๊ณ ๊ทธ ์ฒญํฌ๋ฅผ ํ๋ ์ด์ด ์ฃผ๋ณ์ ๊ฒ๋ค๋ง ๊ฒ์์ ์ฌ๋ ค๋๋๋ค๋๊ฒ ์ ๋๋ ๋ค๋ค ์๊ฑฐ์ผ
๋ธ๋ก ํ๋๋น ์ ์ก๋ฉด์ฒด ๋ฉ์ฌ ํ๋, ์ด๋ ๊ฒ ๋ฌด์ํ๊ฒ ๋ง๋ค๋ฉด ๊ทธ ๋ง์ ๋ธ๋ก๋ค์ ํ๋ฒ์ ๋ชป ์ฌ๋ ค๋์
๊ทธ๋์ ์ฒญํฌ ํ๋๋น ๋ฉ์ฌ ํ๋. ์ด๋ ๊ฒ ๊ด๋ฆฌํด์ผ ๋จ. ๋ธ๋ก ์ฌ๋ฌ๊ฐ๋ฅผ ์ฒญํฌ๋ผ๋ ํ๋์ ๋ฉ์ฌ๋ก ๋ฌถ๋๊ฑฐ์ง.
2. ์ฒญํฌ ์ฌ์ด์ฆ
๋ง์ธํฌ๋ ์ฒญํฌ ํ๋์ ํฌ๊ธฐ๊ฐ 16*128*16 ๋ธ๋ก^3 ์ด๋ผ๋๋ฐ ์ ๋ํฐ๋ ๋ฉ์ฌ๋น ์ต๋ ๋ฒํ ์ค ์๊ฐ 65536๊ฐ ์ ํ์ด๋ผ์ ์๋ผ ์๋ฌดํผ ์๋จ
๊ทธ๋์ ๋๋ ์ฒญํฌ ํ๋๋ฅผ 16*16*16 ํฌ๊ธฐ๋ก ์ ํ์ด.
3. ์ ๋ ๋ง์ ๋ธ๋ก๋ค
16*16*16 ์ฒญํฌ ํ๋์ ๋ธ๋ก์ ๊ฝ์ฑ์ด๋ค๊ณ ๋ง ํด๋ ๋ฒ์จ ๋ธ๋ก์ด 4096๊ฐ์ผ. ๊ทธ๋ ๋ค๊ณ ์ง์ง ๋ธ๋ก ์ธ์คํด์ค๋ฅผ 4096๊ฐ๋ฅผ ๋ง๋๋๊ฑด ์ ์ ๋๊ฐ ์ง์ด์ง.
์ฒญํฌ๋ฅผ ์์ฑํ ๋ ์ผ๋ง๋ ์ค๋๊ฑธ๋ฆฌ๋์ง ๊ฒฝํํด๋ณด๊ณ ์ถ์ ๊ฐค๋ผ์ ํด๋ณด๋๋ก ํด. ๋ง๋ก๋ง ๋ฃ๋ new ์ฐ์ฐ์์ย ๋๋ฆผ์ ์ฒดํํด ๋ณผ ์ ์์ด.
๊ทธ๋ฆฌ๊ณ ๋ฉ๋ชจ๋ฆฌ ๋ฌธ์ ๋ ์๊น. ๋ธ๋ก ํ๋์ int ๋ณ์ ํ๋ ์๋ค๊ณ ํ๋ฉด 4*4096 = 16KB ์ด๊ณ
์ฒญํฌ๊ฐ 16*4*16๊ฐ ์๋ค๋ฉด 16MB์. ํ์ฌํผ ์๋ฐ์.
๊ทธ๋์ ๋ง์ธํฌ๋ ์ด๋ป๊ฒ ํ๋๋ฉด, ๋ธ๋ก์ ๊ฒ์ ์์ํ ๋ ํ๋๋ง ๋ง๋ค์ด๋๊ณ ์ฒญํฌ์๋ ์ด๋ ์์ ๋ ํผ๋ฐ์ค๋ง ์ ์ฅํด ๋์.
๊ทธ๋ฆฌ๊ณ ๋ธ๋ก๋ง๋ค ์ํ๋ฅผ ์ ์ฅํด์ผ ํ ๋ (์์ ๋ธ๋ก์ ์ธ๋ฒคํ ๋ฆฌย ๊ฐ์๊ฑฐ) ์ด๋ป๊ฒ ํ๋๋ฉด, ๊ทธ๋ฐ ์๋ค๋ง ๋ธ๋ก ์ํฐํฐ๋ผ๋ ๊ฑธ ๋ฐ๋ก ๋ง๋ฆ. ใ ใ ?
์ฒญํฌ๋ด์์ ๋ธ๋ก๊ด๋ฆฌํ๋๊ฒ ์ ์ผ ๊ด๊ฑด์ผ๋ฏ ๋ณํ๊ฐ ์๊ธฐ๋ฉด ์ปฌ๋ผ์ด๋๋ ์์ ํด์ผ๋๊ณ .. ๋ค๋ x๋ง๋ฅ ๋ฒํ ์ค, ์ธ๋ฑ์ค๊ณ ์น๋์ผ์๊ธฐ๊ฒ ๋ค
ใด ๋ณํ๊ฐ ์๊ธฐ๋ฉด ํ๋๊ทธ๋ฅผ ๋ฐ๊ฟ๋จ๋ค๊ฐ ๋ค์ ํฑ๋ ๋ค์ ์๋ก๊ทธ๋ฆผ. ๋ธ๋ก์ ๋ฉ์ฌ๋ฅผ ๊ทธ๋ฆฌ๋ ํจ์๋ฅผ ๋ง๋ค์ด๋๊ณ ์ฒญํฌ๋ ๊ทธ ํจ์๋ฅผ ํธ์ถํ๋ ํํ๋ก