๋
์ผ ๋ํ์ ์ฐ๊ตฌ์ ๊ทธ๋ฃน
Rust ๋ฒ์ ์ ๋๋ผ์ด๋ฒ๋ C ์ธ์ด์ ์ฐธ์กฐ ๋๋ผ์ด๋ฒ์ ์ฑ๋ฅ์ด ๋งค์ฐ ์ ์ฌํ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. 32๊ฐ์ ํจํท์ ๋์์ ๋ธ๋ก์ผ๋ก ๋ณด๋ด๋ ๋ถํ์์๋ Rust ๋๋ผ์ด๋ฒ๊ฐ ์ฝ๊ฐ ๋ค์ฒ์ก์ง๋ง, ๋ธ๋ก๋น 32๊ฐ ์ด์์ ํจํท์ ํ ์คํธํ ๊ฒฐ๊ณผ ์๋๋ C ๋๋ผ์ด๋ฒ์ ๊ฑฐ์ ์ฐจ์ด๊ฐ ์์๊ณ 28๋ง ์ฒ๋ฆฌ ์์ค์ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ์์ต๋๋ค. Xeon CPU E3-1230 v2 3.3GHz๋ฅผ ์ฌ์ฉํ๋ ์๋ฒ์ ์ด๋น ํจํท ์์ ๋๋ค.
์ฑ๋ฅ ์ธก๋ฉด์์ ๋ค์ ํ์ ์์ฅ์ Go ๋ฐ C# ์ธ์ด์ ๋๋ผ์ด๋ฒ๊ฐ ์ฐจ์งํ๋๋ฐ, ์ด๋ ์๋นํ ์ ์ฌํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ์์ต๋๋ค(Go ๋๋ผ์ด๋ฒ๋ ์ต๋ 16๊ฐ ํจํท ๋ธ๋ก ํ ์คํธ์์ ์ด๊ฒผ๊ณ 16๊ฐ ์ด์์ ํจํท ํ ์คํธ์์๋ ์ฝ๊ฐ ์ง๊ธฐ ์์ํ์ต๋๋ค). ๋ธ๋ก์์). ๋ธ๋ก๋น 256๊ฐ์ ํจํท์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ C# ๋๋ผ์ด๋ฒ์ ์ต๋ ์ฑ๋ฅ์ ์ด๋น ์ฝ 28๋ง ํจํท์ด์๊ณ Go ๋๋ผ์ด๋ฒ๋ ์ด๋น ์ฝ 25๋ง ํจํท์ด์์ต๋๋ค.
๋ค์์ผ๋ก ์๋นํ ๊ฐ๊น์ด ๊ฒฐ๊ณผ๋ฅผ ์ป์ ๋๋ผ์ด๋ฒ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Java, OCaml ๋ฐ Haskell์ ์ด์ ์ ๊ณ ๋ คํ ์ต์
๋ณด๋ค ์ด๋ฏธ ๋์ ๋๊ฒ ๋ค์ณ์ ธ ์์ผ๋ฉฐ ์ด๋น 12๋ง ํจํท์ ๊ทน๋ณตํ์ง ๋ชปํ์ต๋๋ค. Swift ๋ฐ JavaScript ๋๋ผ์ด๋ฒ๋ ์ด๋น 5๋ง ํจํท ์์ค์ ์คํธ๋ฆผ์ ์ฒ๋ฆฌํ ์ ์์ด ํจ์ฌ ๋ ํฐ ์ง์ฐ์ ๋ณด์ฌ์ฃผ์์ต๋๋ค.
0.14์๋ ์ด๋น 3.7๋ง ๊ฐ์ ํจํท๋ง ์ฒ๋ฆฌํ ์ ์๋ Python ๋๋ผ์ด๋ฒ๊ฐ ์ฐจ์งํ์ต๋๋ค. Python ๊ตฌํ์ JIT ๋ฐ ํน์ ์ต์ ํ ์์ด ์ธํฐํ๋ฆฌํฐ์ ์๋๋ฅผ ํ๊ฐํ๋ ๋ฐ ์ฌ์ฉ๋์์ต๋๋ค(์ฝ๋๋ CPython 10์ ์ฌ์ฉํ์ฌ ์คํ๋์์ผ๋ฉฐ PyPy์ ํธํ๋์ง ์์์ง๋ง ๋ฐ์ดํฐ ์ ์ฅ ๊ตฌ์กฐ์ ์ต์ ํ๋ ์ฑ๋ฅ์ ์ฝ XNUMX๋ฐฐ ํฅ์์ํฌ ์ ์๋ค๋ ์ ์ ์ฃผ๋ชฉ) ).
๋ํ ๋ฒํผ๋ง์ ํจ์จ์ฑ๊ณผ ๊ฐ๋น์ง ์์ง๊ธฐ์ ์ํฅ์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ๋๊ธฐ ์๊ฐ ํ
์คํธ๊ฐ ์ํ๋์์ต๋๋ค. ํ
์คํธ์์๋ ๋๋ผ์ด๋ฒ๊ฐ ๊ฐ ํจํท์ ์ ๋ฌํ ํ์ ๋๊ธฐ ์๊ฐ์ ํด๋น ํจํท์ด ์ ์ก๋ ์ ํํ ์๊ฐ๊ณผ ๋น๊ตํ์ฌ ์ธก์ ํ์ต๋๋ค. ๋ฆฌ๋๋ ์ฌ์ ํ C ๋ฐ Rust ๋๋ผ์ด๋ฒ์์ผ๋ฉฐ ๊ทธ ๊ฒฐ๊ณผ๋ ์ด๋น 1๋ง ํจํท(์ฝ 20 ยตs)์ ํ๋ฆ์ ๋ํด ์ค์ง์ ์ผ๋ก ๊ตฌ๋ณํ ์ ์์์ต๋๋ค. Go ๋๋ผ์ด๋ฒ๋ ์ข์ ์ฑ๋ฅ์ ๋ฐํํ์ฌ ๋ฆฌ๋๋ณด๋ค ์ฝ๊ฐ ๋ค์ฒ์ก์ผ๋ฉฐ 20ฮผs ์์ค์ ์ ์งํ์ต๋๋ค. C# ๋๋ผ์ด๋ฒ๋ ์ฝ 50ฮผs์ ์ง์ฐ์ ๋ณด์ฌ์ฃผ์์ต๋๋ค.
๊ฐ์ฅ ๊ธด ์ง์ฐ ์๊ฐ์ JavaScript ๋ฐ Java ๋๋ผ์ด๋ฒ์์ ๋ํ๋ฌ์ต๋๋ค(300ฮผs ์ด์์ ์ง์ฐ ์๊ฐ).
์ด๋ฒ ์ฐ๊ตฌ๋ C๋ณด๋ค ์์ ์ธ์ด๋ก ๋๋ผ์ด๋ฒ์ ์ด์์ฒด์ ๊ตฌ์ฑ์์๋ฅผ ๊ฐ๋ฐํ ์ ์๋ ๊ฐ๋ฅ์ฑ์ ํ๊ฐํ๊ธฐ ์ํด ์งํ๋๋ค. ํ์ฌ Linux์ ๋ฉ๋ชจ๋ฆฌ ๋ฌธ์ 39๊ฐ ์ค 40๊ฐ๋ ๋๋ผ์ด๋ฒ์ ๊ด๋ จ๋์ด ์์ผ๋ฏ๋ก ๋ณด๋ค ์์ ํ ์ธ์ด๋ฅผ ์ฌ์ฉํ๊ณ ๋๋ผ์ด๋ฒ๋ฅผ ์ปค๋์์ ์ฌ์ฉ์ ๊ณต๊ฐ์ผ๋ก ์ด๋ํ๋ ๋ฌธ์ ๋
์์ ๊ณผ์ ์์ Rust ์ธ์ด๊ฐ ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ์ ๊ฐ์ฅ ์ ํฉํ ์ธ์ด๋ผ๋ ๊ฒฐ๋ก ์ด ๋์์ต๋๋ค. Rust์ ๊ธฐ๋ฅ์ C ๋๋ผ์ด๋ฒ์ ๋นํด ์ฝ 2%~10%์ ์ฑ๋ฅ ์์ค์ ๊ฐ์ํ๋ฉด์๋ ๋ฎ์ ์์ค์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ๊ด๋ จ๋ ๋ฌธ์ ๋ฅผ ์ ๊ฑฐํฉ๋๋ค. Go์ C#์ ๊ฐ๋น์ง ์์ง์ผ๋ก ์ธํ ๋ฐ๋ฆฌ์ด ๋ฏธ๋ง์ ๋๊ธฐ ์๊ฐ์ด ํ์ฉ๋๋ ์ํฉ์์ ์์คํ ๊ตฌ์ฑ ์์๋ฅผ ์์ฑํ๋ ๋ฐ์๋ ์ ํฉํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru