๋ด์ฅ ๊ธฐ๋ฅ ๋ฐ PGO ๊ฐ์ฉ์ฑ์ ์ ๊ณตํ๋ Google์ Go ์ธ์ด 1.21
Go ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ฒ์ 1.21 ๋ฆด๋ฆฌ์ค ํ๋ณด๋ ์๋ก์ด ๋ด์ฅ ๊ธฐ๋ฅ, ํ๋กํ ๊ธฐ๋ฐ ์ต์ ํ, ํฅ์๋ ์ฑ๋ฅ, WebAssembly ์์ฉ ๋ฐ ํ๋ก๊ทธ๋๋จธ๋ฅผ ์ํ ๊ธฐํ ๋ค์ํ ๊ฐ์ ์ฌํญ์ ์ ๊ณตํฉ๋๋ค.

Google์ Go ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ์ต๊ทผ 1.21 ๋ฆด๋ฆฌ์ค ํ๋ณด์ ๊ฐ์ฉ์ฑ์ ๋ฐํํ์ฌ ๋ด์ฅ ๊ธฐ๋ฅ, ํ๋กํ ๊ธฐ๋ฐ ์ต์ ํ(PGO) ๋ฐ WebAssembly ์กฐ์ ์ ํฌํจํ์ฌ ๋ค์ํ ์๋ก์ด ๊ธฐ๋ฅ๊ณผ ๊ฐ์ ์ฌํญ์ ๋์ ํ์ต๋๋ค. ๋ฆด๋ฆฌ์ค ํ๋ณด๋ 6์ 21์ผ์ ๊ฒ์๋์์ผ๋ฉฐ ํ๋ก์ ํธ ์น ์ฌ์ดํธ์์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. ์ต์ข ์์ฐ ๋ฆด๋ฆฌ์ค๋ 8์๋ก ์์ ๋์ด ์์ต๋๋ค.
์ต์ ๋ฒ์ ์๋ min , max ๋ฐ clear ์ ์ธ ๊ฐ์ง ๋ด์ฅ ํจ์๊ฐ ๋์
๋์์ต๋๋ค. min ๋ฐ max ํจ์๋ ๊ณ ์ ๋ ์ธ์ ์งํฉ ๋๋ ์ ๋ ฌ๋ ์ ํ์ ์ต์๊ฐ ๋๋ ์ต๋๊ฐ์ ๊ฐ๊ฐ ๊ณ์ฐํ๋ ๋ฐ๋ฉด clear ํจ์๋ ๋งต, ์ฌ๋ผ์ด์ค ๋๋ ์ ํ ๋งค๊ฐ๋ณ์ ์ ํ์ ๋ชจ๋ ์์๋ฅผ โโ์ญ์ ํ๊ฑฐ๋ 0์ผ๋ก ๋ง๋ญ๋๋ค.
2์์ Go 1.20์์ ์ฒ์์ผ๋ก ์ ๋ณด์ธ ํ๋กํ ๊ธฐ๋ฐ ์ต์ ํ๊ฐ ์ด์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค. PGO๋ฅผ ์ฌ์ฉํ๋ฉด ์ปดํ์ผ๋ฌ ๋๊ตฌ ์ฒด์ธ์ด ๋ฐํ์ ํ๋กํ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ํฌ๋ก๋๋ณ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ๋ณ ์ต์ ํ๋ฅผ ์ํํ ์ ์์ต๋๋ค. Go ํ๋ก์ ํธ ๊ฐ๋ฐ์๋ค์ PGO ๊ตฌํ์ผ๋ก ๋ค์ํ ํ๋ก๊ทธ๋จ์์ 2%์์ 7%์ ์ด๋ฅด๋ ์ฑ๋ฅ ํฅ์์ ๊ฐ์ ธ์๋ค๊ณ ๋ฐํ์ต๋๋ค. ๋ํ Go ์ปดํ์ผ๋ฌ๋ PGO๊ฐ ํ์ฑํ๋ ์ํ๋ก ๋ค์ ๋น๋๋์์ต๋๋ค.
Go 1.21์์๋ ๊ฐ๋น์ง ์์ง๊ธฐ ํ๋์ ํตํด ํน์ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ผฌ๋ฆฌ ๋๊ธฐ ์๊ฐ์ 40% ๋จ์ถํ๋ ๋ฑ ์ฑ๋ฅ์ด ๋์ฑ ํฅ์๋์์ต๋๋ค. ๋ํ runtime/trace ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ ๋ฐํ์ ์ถ์ ์์ง์ AMD64 ๋ฐ Arm64 ์์คํ
์์ ์๋นํ ๋ฎ์ CPU ๋น์ฉ์ ํ์ธํฉ๋๋ค.
Go 1.21์ ์ด๋ฌํ ๋ฐ์ ์ ๋ณด๋ค ํจ์จ์ ์ด๊ณ ์์ฐ์ ์ธ ๊ฐ๋ฐ ๊ฒฝํ์ ์ด์งํ ๊ฒ์ผ๋ก ๊ธฐ๋๋ฉ๋๋ค. AppMaster.io ์ ๊ฐ์ no-code ํ๋ซํผ์ด ์ํํธ์จ์ด ๊ฐ๋ฐ ์ธ๊ณ์์ ๊ณ์ ์ธ๊ธฐ๋ฅผ ์ป์ผ๋ฉด์ Go์ ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํ์ ํ์ฉํ์ฌ ํ์ฅ ๊ฐ๋ฅํ ๊ณ ์ฑ๋ฅ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ฒ ๊ตฌ์ถํ๊ธฐ ์์ํ์ต๋๋ค.


