Mozilla์ ์ ๋ฌธ๊ฐ๋ค์ ๋ธ๋ผ์ฐ์ ์ธ๋ถ์์ ์คํ๋๋ ์ผ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๊ธฐ ์ํ API ๊ฐ๋ฐ์ด ํฌํจ๋ WASI(WebAssembly System Interface) ํ๋ก์ ํธ๋ฅผ ๋ฐํํ์ต๋๋ค. ๋์์ ์ฐ๋ฆฌ๋ ์ฒ์์๋ ๊ทธ๋ฌํ ์ ํ๋ฆฌ์ผ์ด์ ์ ํฌ๋ก์ค ํ๋ซํผ๊ณผ ๋์ ์์ค์ ๋ณด์์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค.
์ธ๊ธํ ๋ฐ์ ๊ฐ์ด, ์ด๋ค์ ํน๋ณํ "์๋๋ฐ์ค"์์ ์คํ๋๋ฉฐ ํ์ผ, ํ์ผ ์์คํ , ๋คํธ์ํฌ ์์ผ, ํ์ด๋จธ ๋ฑ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ํ๋ก๊ทธ๋จ์ ํ์ฉ๋๋ ๊ฒ์ผ๋ก ์๋ ค์ง ์์ ๋ง ์ํํ ์ ์์ต๋๋ค.
WebAssembly ์์ฌ ์ฝ๋๊ฐ ์ด์ ๋ธ๋ฌ ์ธ์ด์ ํ๋ซํผ ๋ ๋ฆฝ์ ๋ณํ์ด๋ผ๋ ์ ์ ๊ณ ๋ คํ๋ฉด JIT๋ฅผ ์ฌ์ฉํ๋ฉด ๊ธฐ๋ณธ ์ ํ๋ฆฌ์ผ์ด์ ์์ค์์ ๋์ ์ฝ๋ ์ฑ๋ฅ์ ๋ฌ์ฑํ ์ ์์ต๋๋ค. ํ์ฌ ๊ธฐ๋ณธ POSIX API(ํ์ผ, ์์ผ ๋ฑ)์ ๊ตฌํ์ด ์ ๊ณต๋์ง๋ง ์์ง ์ ๊ธ ๋ฐ ๋น๋๊ธฐ I/O๋ฅผ ์ง์ํ์ง ์์ต๋๋ค. ์์ผ๋ก๋ ์ํธํ, 3D ๊ทธ๋ํฝ, ์ผ์, ๋ฉํฐ๋ฏธ๋์ด ๋ชจ๋์ด ๋ฑ์ฅํ ๊ฒ์ผ๋ก ์์๋๋ค.
Fastly ํ๋ก์ ํธ์์๋ WebAssembly ์ ํ๋ฆฌ์ผ์ด์ ์ฉ Lucet ์ปดํ์ผ๋ฌ๋ฅผ ๋์ ํ๋ค๋ ์ ๋ ์ฃผ๋ชฉํด์ผ ํฉ๋๋ค. ์ด๋ฅผ ํตํด ํ์ฌ WebAssembly ํ๋ก๊ทธ๋จ์ด ํ๋ฌ๊ทธ์ธ๊ณผ ๊ฐ์ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ๋ด์์ ์์ ํ๊ฒ ์คํ๋ ์ ์์ต๋๋ค. ์ปดํ์ผ๋ฌ ์์ฒด๋ Rust ์ธ์ด๋ก ์์ฑ๋์์ผ๋ฉฐ C, Rust ๋ฐ TypeScript์ ์ฝ๋๋ฅผ ์ง์ํฉ๋๋ค.
๋ฌผ๋ก , ์ด ์ ๊ทผ๋ฒ์ ์์ ์ฑ์ ๋ํด์๋ ์ฌ์ ํ ๋ง์ ์๋ฌธ์ด ๋จ์ ์์ต๋๋ค. ์๋๋ฐ์ค์์ ์ฝ๋๋ฅผ ์คํํ๋ ๊ฒ์ ๊ธฐ๋ณธ ์์คํ ์ ๊ธฐ๋ฅ์ ๋ํ ์ก์ธ์ค์ ๋งค์ฐ ์ด์ํ๊ฒ ๊ฒฐํฉ๋๋ฏ๋ก ์ด ๋ฌธ์ ๋ ์ฌ์ ํ ์ค๋ช ์ด ํ์ํฉ๋๋ค. ๋ํ ์ด ๋ชจ๋์์ ์ด๋ค ํ๋ก๊ทธ๋จ์ ์คํํด์ผ ํ๋์ง, ํด๋น ํ๋ก๊ทธ๋จ์ ๋์์ ์ด๋ป๊ฒ ๋ชจ๋ํฐ๋งํด์ผ ํ๋์ง๋ ๋ช ํํ์ง ์์ต๋๋ค.
์ถ์ฒ : 3dnews.ru