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

ํ๋ ํ๋ก๊ทธ๋๋ฐ ํ๊ฒฝ์ Google์ Go ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์๋ก์ด ์ ๋ฐ์ดํธ์ธ Golang 1.21์ ๋ฑ์ฅ์ ๋ชฉ๊ฒฉํ์ต๋๋ค. ์๋ก์ด ๋ด์ฅ ๊ธฐ๋ฅ๊ณผ PGO(Profile-Guided Optimization)์ ์ผ๋ฐ ๊ฐ์ฉ์ฑ์ด ๊ฐํ๋ ์ด ๋ฒ์ ์ ํ๋ก๊ทธ๋๋ฐ ๊ฒฝํ์ ์ฌ์ ์ํ๊ณ ์ ํฉ๋๋ค. ๋ํ WebAssembly์์ ํธํ์ฑ์ด ๋์ ๋๊ฒ ํฅ์๋์์ต๋๋ค.
์ด ๋ฒ์ ์์ ๋์ ๋๋ ์๊ฐ๋ ๋ด์ฅ ํจ์์ธ min, max ๋ฐ clear์ ๋๋ค. min ๋ฐ max ํจ์๋ ์ ๋ ฌ๋ ์ ํ ๋๋ ๋ฏธ๋ฆฌ ๊ฒฐ์ ๋ ์์ ์ธ์ ์ค ๊ฐ์ฅ ์์ ๊ฐ ๋๋ ๊ฐ์ฅ ํฐ ๊ฐ์ ๊ณ์ฐํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๋ ๋ค ๊ธฐ๋ฅํ๋ ค๋ฉด ์ ์ด๋ ํ๋์ ์ธ์๊ฐ ํ์ํฉ๋๋ค. ๋ฐ๋ฉด์ clear ํจ์๋ ๋งต, ์ฌ๋ผ์ด์ค ๋๋ ์ ํ ๋งค๊ฐ๋ณ์ ์ ํ์ ๋์์ผ๋ก ํ๊ณ ์ธ์์ ๋ชจ๋ ์์๋ฅผ โโ์ ๊ฑฐํ๊ฑฐ๋ ๋ฌดํจํํฉ๋๋ค.
8์ 8์ผ ๊ณต์ ๋ฆด๋ฆฌ์ค ์ดํ Golang 1.21์ ํ๋ก์ ํธ ์น ์ฌ์ดํธ์์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. ์ด ํ๋ก๋์ ๋ฆด๋ฆฌ์ค๋ 6์ 21์ผ์ ๊ฒ์๋ ์ด์ ๋ฆด๋ฆฌ์ค ํ๋ณด๋ฅผ ๋ฐ๋ฆ ๋๋ค.
์ง๋ 2์ Golang 1.20์์ ํ๋ฆฌ๋ทฐ๋ก ์ฒ์ ์๊ฐ๋์๋ PGO๋ ์ต์ ๋ฒ์ ์์ ํฐ ๋ฐ์ ์ ์ด๋ฃจ์์ต๋๋ค. ์ด์ ์ผ๋ฐ ๋ฆด๋ฆฌ์ค์์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ์ปดํ์ผ๋ฌ ๋๊ตฌ ์ฒด์ธ์ด ๋ฐํ์ ํ๋กํ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ํฌ๋ก๋๋ณ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ๋ณ ์ต์ ํ๋ฅผ ์ํํ ์ ์๋๋ก ํฉ๋๋ค. Go ํ๋ก์ ํธ ๊ฐ๋ฐ์์ ์ฃผ์ฅ์ ๋ฐ๋ฅด๋ฉด PGO๋ ๋ค์ํ ํ๋ก๊ทธ๋จ์์ ์ฑ๋ฅ์ 2%์์ 7% ํฅ์์ํค๋ ๋ฐ ์ฑ๊ณตํ์ต๋๋ค. Go ์ปดํ์ผ๋ฌ๊ฐ PGO ๊ธฐ๋ฅ์ผ๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
Go ์ปดํ์ผ๋ฌ์ PGO๋ฅผ ๋ฐ์ ์ํฌ ๋ฟ๋ง ์๋๋ผ Golang 1.21์ ์ถ๊ฐ์ ์ธ ์ฑ๋ฅ ํฅ์์ ์ ๊ณตํฉ๋๋ค. ๊ฐ๋น์ง ์์ง๊ธฐ ์ต์ ํ์ ์ด์ ์ ๋ง์ถ๋ฉด ํน์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ผฌ๋ฆฌ ์ง์ฐ ์๊ฐ์ ์ต๋ 40%๊น์ง ์ค์ผ ์ ์์ต๋๋ค. ๋์์ ๋ฐํ์/์ถ์ ์ ์ฌ์ฉํ์ฌ ์ถ์ ์ ์์งํ๋ ํ๋ก์ธ์ค๋ AMD64 ๋ฐ Arm64 ์์คํ ์์ ํจ์ฌ ์ ์ CPU ๋น์ฉ์ ์ด๋ํฉ๋๋ค.
๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ด๋ฌํ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ค๋ ๊ฐ๋ฐ์์๊ฒ AppMaster ํ์ํ ์ถ๋ฐ์ ์ ์ ๊ณตํฉ๋๋ค. no-code ๊ฐ๋ ฅํ ๋๊ตฌ์ธ AppMaster ํตํด ๊ณ ๊ฐ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์๊ฐ์ ์ผ๋ก ์ค๊ณํ๊ณ ๋น์ฆ๋์ค ๋ก์ง๊ณผ REST API ๋ฐ WSS ์๋ํฌ์ธํธ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ํ์ฉํ๋ฉด ํ๋ฆผ์์ด ๊ฐ๋ฐ ๊ฒฝํ์ ํฅ์ํ๊ณ Golang 1.21 ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์ฑ๋ฅ์ ์ต์ ํํ ์ ์์ต๋๋ค.


