GCC์— ์ปดํŒŒ์ผ ํ”„๋กœ์„ธ์Šค ๋ณ‘๋ ฌํ™” ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๋Š” ํ”„๋กœ์ ํŠธ

์—ฐ๊ตฌ ํ”„๋กœ์ ํŠธ์˜ ์ผํ™˜์œผ๋กœ ๋ณ‘๋ ฌ GCC ์ปดํŒŒ์ผ ํ”„๋กœ์„ธ์Šค๋ฅผ ์—ฌ๋Ÿฌ ๋ณ‘๋ ฌ ์Šค๋ ˆ๋“œ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ GCC์— ์ถ”๊ฐ€ํ•˜๋Š” ์ž‘์—…์ด ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋ฉ€ํ‹ฐ ์ฝ”์–ด ์‹œ์Šคํ…œ์˜ ๋นŒ๋“œ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด make ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ๊ฐ๊ฐ ๋ณ„๋„์˜ ์ฝ”๋“œ ํŒŒ์ผ์„ ๋นŒ๋“œํ•˜๋Š” ๋ณ„๋„์˜ ์ปดํŒŒ์ผ๋Ÿฌ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ ์ˆ˜์ค€์—์„œ ๋ณ‘๋ ฌํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‹คํ—˜ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์ž ์žฌ์ ์œผ๋กœ ๋ฉ€ํ‹ฐ ์ฝ”์–ด ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‹œํ—˜์šฉ ์ค€๋น„๋œ ์Šค๋ ˆ๋“œ ์ˆ˜๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ์šด ๋งค๊ฐœ๋ณ€์ˆ˜ โ€œโ€”param=num-threads=Nโ€์„ ์ œ๊ณตํ•˜๋Š” GCC์˜ ๋ณ„๋„ ๋ณ‘๋ ฌํ™” ๋ถ„๊ธฐ์ž…๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ๋‹จ๊ณ„์—์„œ ์šฐ๋ฆฌ๋Š” ๊ฐ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์ฃผ๊ธฐ์ ์œผ๋กœ ํ˜ธ์ถœ๋˜๊ณ  ์‰ฝ๊ฒŒ ๋ณ‘๋ ฌํ™”๋  ์ˆ˜ ์žˆ๋Š” ๋ณ„๋„์˜ ์Šค๋ ˆ๋“œ๋กœ ํ”„๋กœ์‹œ์ € ๊ฐ„ ์ตœ์ ํ™”๋ฅผ ์ „์†กํ•˜๋Š” ๊ฒƒ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ํ‰๊ฐ€ํ•˜๋Š” ํ•˜๋“œ์›จ์–ด ๋…๋ฆฝ์  ์ตœ์ ํ™”๋ฅผ ๋‹ด๋‹นํ•˜๋Š” GIMPLE ์ž‘์—…์€ ๋ณ„๋„์˜ ์Šค๋ ˆ๋“œ์— ๋ฐฐ์น˜๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„์—์„œ๋Š” ํ•˜๋“œ์›จ์–ด ํ”Œ๋žซํผ์˜ ํŠน์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์ ˆ์ฐจ ๊ฐ„ RTL ์ตœ์ ํ™”๋ฅผ ๋ณ„๋„์˜ ์Šค๋ ˆ๋“œ๋กœ ์ด๋™ํ•  ๊ณ„ํš๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ดํ›„์—๋Š” ํ˜ธ์ถœ์˜ ๊ตฌ์ฒด์ ์ธ ๋‚ด์šฉ๊ณผ ๊ด€๊ณ„์—†์ด ํ•จ์ˆ˜ ๋‚ด๋ถ€์˜ ์ฝ”๋“œ์— ์ ์šฉ๋˜๋Š” IPA(ํ”„๋กœ์‹œ์ € ๋‚ด ์ตœ์ ํ™”) ๋ณ‘๋ ฌํ™”๋ฅผ ๊ตฌํ˜„ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ์ œํ•œ ๋งํฌ๋Š” ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ๋ชจ๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘ ์ž‘์—…์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ์ „์—ญ ์ž ๊ธˆ์„ ์ถ”๊ฐ€ํ•œ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ์ž…๋‹ˆ๋‹ค(ํ–ฅํ›„ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ๋Š” GCC์˜ ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ์‹คํ–‰์— ๋งž๊ฒŒ ์กฐ์ •๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค).

์„ฑ๋Šฅ ๋ณ€ํ™”๋ฅผ ํ‰๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด 100๋งŒ ๋ผ์ธ ์ด์ƒ์˜ ์ฝ”๋“œ์™€ 1700๊ฐœ ์ด์ƒ์˜ ํ•จ์ˆ˜๋ฅผ ํฌํ•จํ•˜๋Š” gimple-match.c ํŒŒ์ผ์„ ์กฐํ•ฉํ•˜๋Š” ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๊ฐ€ ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ฆฌ์  ์ฝ”์–ด 5๊ฐœ์™€ ๊ฐ€์ƒ ์ฝ”์–ด 8250๊ฐœ(ํ•˜์ดํผ์Šค๋ ˆ๋”ฉ)๋ฅผ ๊ฐ–์ถ˜ Intel Core i4-8U CPU๋ฅผ ๊ฐ–์ถ˜ ์‹œ์Šคํ…œ์—์„œ ํ…Œ์ŠคํŠธํ•œ ๊ฒฐ๊ณผ, ์ ˆ์ฐจ ๋‚ด GIMPLE ์ตœ์ ํ™”์˜ ์‹คํ–‰ ์‹œ๊ฐ„์ด 7๊ฐœ ์Šค๋ ˆ๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ 4์ดˆ์—์„œ 2์ดˆ๋กœ, 3๊ฐœ ์Šค๋ ˆ๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ 4์ดˆ๋กœ ๊ฐ์†Œํ•œ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์Šค๋ ˆ๋“œ, ์ฆ‰ ๊ณ ๋ ค ์ค‘์ธ ์กฐ๋ฆฝ ๋‹จ๊ณ„์˜ ์†๋„๋Š” ๊ฐ๊ฐ 1.72๋ฐฐ ๋ฐ 2.52๋ฐฐ ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ…Œ์ŠคํŠธ์—์„œ๋Š” ํ•˜์ดํผ์Šค๋ ˆ๋”ฉ๊ณผ ํ•จ๊ป˜ ๊ฐ€์ƒ ์ฝ”์–ด๋ฅผ ์‚ฌ์šฉํ•ด๋„ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

GCC์— ์ปดํŒŒ์ผ ํ”„๋กœ์„ธ์Šค ๋ณ‘๋ ฌํ™” ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๋Š” ํ”„๋กœ์ ํŠธ

์ „์ฒด ๋นŒ๋“œ ์‹œ๊ฐ„์€ ์•ฝ 10% ๋‹จ์ถ•๋˜์—ˆ์ง€๋งŒ ์˜ˆ์ธก์— ๋”ฐ๋ฅด๋ฉด RTL ์ตœ์ ํ™”๋ฅผ ๋ณ‘๋ ฌํ™”ํ•˜๋ฉด ์ด ๋‹จ๊ณ„์—์„œ ์ปดํŒŒ์ผํ•˜๋Š” ๋™์•ˆ ํ›จ์”ฌ ๋” ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ๋ณด๋‹ค ์‹ค์งˆ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๋žต RTL ๋ณ‘๋ ฌํ™” ํ›„์—๋Š” ์ด ์กฐ๋ฆฝ ์‹œ๊ฐ„์ด 1.61๋ฐฐ ๋‹จ์ถ•๋ฉ๋‹ˆ๋‹ค. ๊ทธ ํ›„์—๋Š” IPA ์ตœ์ ํ™”๋ฅผ ๋ณ‘๋ ฌํ™”ํ•˜์—ฌ ๋นŒ๋“œ ์‹œ๊ฐ„์„ 5~10% ๋” ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GCC์— ์ปดํŒŒ์ผ ํ”„๋กœ์„ธ์Šค ๋ณ‘๋ ฌํ™” ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๋Š” ํ”„๋กœ์ ํŠธ

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€