Microsoft๋ MIT ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์์ต๋๋ค.
mimalloc์ ์ฃผ์ ํน์ง์ ์ปดํฉํธํ ๊ตฌํ(3500์ค ๋ฏธ๋ง์ ์ฝ๋)๊ณผ ๋งค์ฐ ๋์ ์ฑ๋ฅ์
๋๋ค. ์์
์ฑ๋ฅ์ ํ๊ฐํ๊ธฐ ์ํด ๊ธฐ์กด์ ์ธํธ
๋์ ์ฑ๋ฅ์ ์ฃผ๋ก ๋ฌด๋ฃ ๋ชฉ๋ก ์ค๋ฉ์ ์ฌ์ฉํ์ฌ ๋ฌ์ฑ๋ฉ๋๋ค. ํ๋์ ํฐ ๋ชฉ๋ก ๋์ mimalloc์ ์ผ๋ จ์ ์์ ๋ชฉ๋ก์ ์ฌ์ฉํ๋ฉฐ ๊ฐ ๋ชฉ๋ก์ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง์ ๋ฐ์ธ๋ฉ๋ฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์กฐ๊ฐํ๋ฅผ ์ค์ด๊ณ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ ์ง์ญ์ฑ์ ๋์ ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง๋ ๋น์ทํ ํฌ๊ธฐ์ ๋ธ๋ก์ ๊ทธ๋ฃนํํ ์งํฉ์ ๋๋ค. 64๋นํธ ์์คํ ์์ ํ์ด์ง ํฌ๊ธฐ๋ ์ผ๋ฐ์ ์ผ๋ก 64KB์ ๋๋ค. ํ์ด์ง์ ์ ์ ๋ ๋ธ๋ก์ด ๋จ์ ์์ง ์์ผ๋ฉด ์์ ํ ํด์ ๋๊ณ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ด์ ์ฒด์ ๋ก ๋ฐํ๋๋ฏ๋ก ์ฅ๊ธฐ ์คํ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ ๋น์ฉ๊ณผ ์กฐ๊ฐํ๊ฐ ์ค์ด๋ญ๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฐ๊ฒฐ ๋จ๊ณ์ ํฌํจ๋๊ฑฐ๋ ์ด๋ฏธ ์กฐ๋ฆฝ๋ ํ๋ก๊ทธ๋จ์ ๋ํด ๋ก๋๋ ์ ์์ต๋๋ค(โLD_PRELOAD=/usr/bin/libmimalloc.so myprogramโ). ๋์๊ด์์๋ ๋ํ
๋ธ๋ก ๊ฒฝ๊ณ์์ ํน์ ๋ฉ๋ชจ๋ฆฌ ๊ฒ์ฌ ํ์ด์ง(๊ฐ๋ ํ์ด์ง)๋ฅผ ๋์ฒดํ๊ณ ๋ธ๋ก ๋ฐฐํฌ์ ๋ฌด์์ํ์ ํด์ ๋ ๋ธ๋ก ๋ชฉ๋ก์ ์ํธํ๋ฅผ ์ฌ์ฉํ๋ ์์ ๋ชจ๋์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ฌํ ์กฐ์น๋ฅผ ํตํด ํ ๊ธฐ๋ฐ ๋ฒํผ ์ค๋ฒํ๋ก๋ฅผ ์ ์ฉํ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๊ธฐ์ ์ ์ฐจ๋จํ ์ ์์ต๋๋ค. ์์ ๋ชจ๋๋ฅผ ํ์ฑํํ๋ฉด ์ฑ๋ฅ์ด ์ฝ 3% ๊ฐ์ํฉ๋๋ค.
mimalloc์ ํน์ง ์ค ํฐ ์กฐ๊ฐํ๋ก ์ธํ ํฝ๋ง๊ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๋๋ค๋ ์ ๋ ์ฃผ๋ชฉ๋ฉ๋๋ค. ์ต์ ์ ๊ฒฝ์ฐ ๋ฉํ๋ฐ์ดํฐ์ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ ์๋น๊ฐ 0.2% ์ฆ๊ฐํ๊ณ ๋ถ์ฐ ๋ฉ๋ชจ๋ฆฌ์ ๊ฒฝ์ฐ 16.7%์ ๋๋ฌํ ์ ์์ต๋๋ค. ๋ฆฌ์์ค์ ์ก์ธ์คํ ๋ ์ถฉ๋์ ํผํ๊ธฐ ์ํด mimalloc์ ์์์ฑ ์์ ๋ง ์ฌ์ฉํฉ๋๋ค.
์ถ์ฒ : opennet.ru