Ingo Molnar๋ ํค๋ ํ์ผ์ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์ฌ๊ตฌ์ฑํ๊ณ ์ํธ ์ข ์์ฑ ์๋ฅผ ์ค์ฌ ์ปค๋์ ์ฌ๊ตฌ์ถํ๋ ์๊ฐ์ ํฌ๊ฒ ์ค์ผ ์ ์๋ ํจ์น ์ธํธ์ ๋ ๋ฒ์งธ ๋ฒ์ ์ ์ ์ํ์ต๋๋ค. ์ ๋ฒ์ ์ 5.16-rc8 ์ปค๋์ ๋ง๊ฒ ์กฐ์ ๋๊ณ ์ถ๊ฐ ์ต์ ํ๊ฐ ์ถ๊ฐ๋์์ผ๋ฉฐ Clang ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋ํ๊ธฐ ์ํ ์ง์์ ๊ตฌํํ๋ค๋ ์ ์์ ๋ฉฐ์น ์ ์ ์ ์๋ ์ฒซ ๋ฒ์งธ ๋ฒ์ ๊ณผ ๋ค๋ฆ ๋๋ค. Clang์ ์ฌ์ฉํ ๋ ํจ์น๋ฅผ ์ ์ฉํ๋ฉด CPU ๋ฆฌ์์ค ์๋น ์ธก๋ฉด์์ ๋น๋ ์๊ฐ์ด 88% ๋๋ 77% ๋จ์ถ๋์์ต๋๋ค. make -j96 vmlinux ๋ช ๋ น์ด๋ก ์ปค๋์ ์์ ํ ์ฌ๊ตฌ์ถํ์ ๋ ๋น๋ ์๊ฐ์ด 337.788์ด์์ 179.773์ด๋ก ๋จ์ถ๋๋ค.
์ ๋ฒ์ ์ ๋ํ GCC ํ๋ฌ๊ทธ์ธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ , ์ด๊ธฐ ๊ฒํ ๊ณผ์ ์์ ์๋ณ๋ ์ค๋ฅ๋ฅผ ์์ ํ๋ฉฐ, "task_struct_per_task" ๊ตฌ์กฐ์ ์ค๋ณต ์ ์ธ์ ํตํฉํฉ๋๋ค. ๋ํ, linux/sched.h ํค๋ํ์ผ ์ต์ ํ๋ฅผ ์ง์ํ๊ณ , RDMA ์๋ธ์์คํ
(infiniband)์ ํค๋ํ์ผ ์ต์ ํ๋ฅผ ๊ตฌํํด ์ ์ ๋๋น ๋น๋ํ์์ 9% ๋ ๋จ์ถํ ์ ์๊ฒ ๋๋ค. ํจ์น์. linux/sched.h ํค๋ ํ์ผ์ ํฌํจํ๋ ์ปค๋ C ํ์ผ ์๊ฐ ์ฒซ ๋ฒ์งธ ํจ์น ๋ฒ์ ์ ๋นํด 68%์์ 36%๋ก ์ค์์ต๋๋ค(์๋ณธ ์ปค๋์ ๋นํด 99%์์ 36%).
์ถ์ฒ : opennet.ru