ํ์ด์ค๋ถ ํ์ฌ ๋ฐํํ๋ค. ํด์ ํ
์ด๋ธ์ ์คํ ์์ค ๊ตฌํ์ ๋ํด F14, ํจ์จ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์๋น๋ฅผ ์ํด ์ต์ ํ๋์์ต๋๋ค. F14๋ ๋๋ถ๋ถ์ ํด์ ํ
์ด๋ธ ์ ํ์ ๋์ฒดํ๊ธฐ ์ํด Facebook ์ธํ๋ผ์์ ์ฌ์ฉ๋๋ฉฐ ์ฑ๋ฅ ์ ํ ์์ด ๋ฉ๋ชจ๋ฆฌ ์๋น๋ฅผ ์ค์ผ ์ ์์ต๋๋ค. F14๋ ์ง๊ธ๊น์ง ๋ฉ๋ชจ๋ฆฌ ์๋น ์ธก๋ฉด์์ ๊ฐ์ฅ ํจ์จ์ ์ธ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋์๋ google::sparse_hash_map ํด์ ํ
์ด๋ธ๋ณด๋ค ๋์ ๋๊ฒ ์ฑ๋ฅ์ด ๋ฐ์ด๋ฉ๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ C++๋ก ์์ฑ๋์์ผ๋ฉฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํฌํจ๋์ด ์์ต๋๋ค. ์ด๋ฆฌ์์ ํ๋.
F14๋ 14์ ์ด์ค ํด์ฑ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ถฉ๋ ํด๊ฒฐ ์์คํ
์ ๊ฐ์ถ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ๋
๋๋ค. ์ํ ์ํ์ค (ํ๋์ ํด์ ํ
์ด๋ธ ์
์๋ 14๊ฐ์ ์ฌ๋กฏ์ผ๋ก ๊ตฌ์ฑ๋ ์ฒด์ธ์ด ์ ์ฅ๋๋ฉฐ, ๋ณด์กฐ ํด์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์
๊ฐ์ ๊ฐ๊ฒฉ์ ๊ณ์ฐํฉ๋๋ค.) ์
ํํฐ๋ง ์์
์๋๋ฅผ ๋์ด๊ธฐ ์ํด ๊ตฌํ์์๋ x2_86 ์์คํ
์ฉ ๋ฒกํฐ ๋ช
๋ น์ด SSE64์ Aarch64์ฉ NEON์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฅผ ํตํด ํค ์ฒด์ธ์ด ์๋ ์ฌ๋กฏ์ ์ ํํ๊ณ ์ฒด์ธ ๋ด์์ ํค๋ฅผ ์ ๋ณํ๋ ์์
์คํ์ ๋ณ๋ ฌํํ ์ ์์ต๋๋ค. 14๊ฐ ์ฌ๋กฏ์ ๋ธ๋ก์ด ํ ๋ฒ์ ์ฒ๋ฆฌ๋ฉ๋๋ค. ์ด๋ ํ๋ก์ธ์ ์บ์ ์ฌ์ฉ ํจ์จ์ฑ๊ณผ ์ถฉ๋ ํ์ ๊ฐ์ ์ต์ ๊ท ํ์
๋๋ค.
F14์ ํน๋ณํ ๊ธฐ๋ฅ์ ๋ค์ํ ๋ฐ์ดํฐ ์ ์ฅ ์ ๋ต์ ์ ํํ ์ ์๋ค๋ ๊ฒ์
๋๋ค.
- F14NodeMap - ๋ํ ๋ฐ ์ค๊ฐ ํฌ๊ธฐ ํค์ ๋ํด ์ต์ํ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋นํฉ๋๋ค. ์ฝ์
ํ ๋๋ง๋ค malloc์ ํธ์ถํ์ฌ ์์๊ฐ ๊ฐ์ ์ ์ผ๋ก ์ ์ฅ๋๋๋ก ํฉ๋๋ค.
- F14ValueMap - ์์ ํค์ ๋ํด ์ต์ํ์ ๋ฉ๋ชจ๋ฆฌ ์๋น๋ฅผ ์ ๊ณตํฉ๋๋ค. ์์๋ ์
์์ฒด(์ธ๋ผ์ธ)์ ์ ์ฅ๋ฉ๋๋ค. ์ค๊ฐ ๋ฐ ํฐ ํค์ ๊ฒฝ์ฐ ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ์๋นํ ๋ฉ๋ชจ๋ฆฌ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํฉ๋๋ค.
- F14VectorMap - ํฐ ํ
์ด๋ธ๊ณผ ๋ณต์กํ ํค์์๋ ๋ ๋น ๋ฅด๊ฒ ์๋ํ์ง๋ง ๊ฐ๋จํ ํค์ ์์ ํ
์ด๋ธ์์๋ ๋ ๋๋ฆฝ๋๋ค. ์์๋ ์ฐ์์ ์ผ๋ก ์ฑ์์ง ๋ฐฐ์ด๋ก ์์ถ๋๊ณ 32๋นํธ ์ธ๋ฑ์ค ํฌ์ธํฐ๋ก ์ฃผ์๊ฐ ์ง์ ๋ฉ๋๋ค.
- F14FastMap์ ๊ฒฐํฉ๋ ์ ๋ต์
๋๋ค. ํค๊ฐ 24๋ฐ์ดํธ ๋ฏธ๋ง์ด๋ฉด F14ValueMap์ด ์ ํ๋๊ณ , ๊ทธ๋ณด๋ค ํฌ๋ฉด F14VectorMap์ด ์ ํ๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru