์ต์ JIT ์ปดํ์ผ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ Python ์ธ์ด์ ๊ณ ์ฑ๋ฅ ๊ตฌํ์ ์ ๊ณตํ๋ Pyston ํ๋ก์ ํธ์ ๊ฐ๋ฐ์๋ Pyston 2.2์ ์ ๋ฆด๋ฆฌ์ค๋ฅผ ๋ฐํํ๊ณ ํ๋ก์ ํธ๊ฐ ์คํ ์์ค๋ก ๋ณต๊ทํ๋ค๊ณ ๋ฐํํ์ต๋๋ค. ๊ตฌํ์ C++ ๋ฑ ์ ํต์ ์ธ ์์คํ ์ธ์ด์ ๊ฐ๊น์ด ๊ณ ์ฑ๋ฅ์ ๋ฌ์ฑํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ค. Pyston 2 ๋ธ๋์น์ ์ฝ๋๋ CPython ๋ผ์ด์ ์ค์ ์ ์ฌํ PSFL(Python Software Foundation ๋ผ์ด์ ์ค)์ ๋ฐ๋ผ GitHub์ ๊ฒ์๋ฉ๋๋ค.
Pyston ํ๋ก์ ํธ๋ ์ด์ ์ Dropbox๊ฐ ๊ฐ๋ ํ์ผ๋ฉฐ 2017๋ ์ ๊ฐ๋ฐ ์๊ธ ์กฐ๋ฌ์ ์ค๋จํ๋ค๋ ์ ์ ๊ธฐ์ตํ์ธ์. Pyston ๊ฐ๋ฐ์๋ค์ ํ์ฌ๋ฅผ ์ค๋ฆฝํ๊ณ ํฌ๊ฒ ์ฌ์ค๊ณ๋ Pyston 2 ๋ธ๋์น๋ฅผ ์ถ์ํ๋๋ฐ, ์ด๋ ์์ ์ ์ด๊ณ ๋๋ฆฌ ์ฌ์ฉ๋ ์ค๋น๊ฐ ๋์ด ์๋ค๊ณ ์ ์ธ๋์์ต๋๋ค. ๋์์ ๊ฐ๋ฐ์๋ ์์ค ์ฝ๋ ๊ฒ์๋ฅผ ์ค๋จํ๊ณ ๋ฐ์ด๋๋ฆฌ ์ด์ ๋ธ๋ฆฌ๋ง ์ ๊ณตํ๋๋ก ์ ํํ์ต๋๋ค. ์ด์ Pyston์ ๋ค์ ์คํ์์ค ํ๋ก์ ํธ๋ก ๋ง๋ค๊ณ ํ์ฌ๋ฅผ ์คํ์์ค ์ํํธ์จ์ด ๊ฐ๋ฐ๊ณผ ๊ด๋ จ๋ ๋น์ฆ๋์ค ๋ชจ๋ธ๋ก ์ด์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ๊ฒ๋ค๊ฐ Pyston์์ ํ์ค CPython์ผ๋ก ์ต์ ํ๋ฅผ ์ด์ ํ ๊ฐ๋ฅ์ฑ๋ ๊ณ ๋ ค๋๊ณ ์์ต๋๋ค.
Pyston 2.2๋ ์น ์๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ด์ฌ๋ ๋ก๋๋ฅผ ํ๊ฐํ๋ ์ฑ๋ฅ ํ ์คํธ์์ ํ์ค Python๋ณด๋ค 30% ๋ ๋น ๋ฅธ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ๋ํ ์ด์ ๋ฆด๋ฆฌ์ค์ ๋นํด Pyston 2.2์ ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋์์ต๋๋ค. ์ด๋ ์ฃผ๋ก ์๋ก์ด ์์ญ์ ๋ํ ์ต์ ํ ์ถ๊ฐ์ JIT ๋ฐ ์บ์ฑ ๋ฉ์ปค๋์ฆ ๊ฐ์ ์ ํตํด ๋ฌ์ฑ๋์์ต๋๋ค.
์ฑ๋ฅ ์ต์ ํ ์ธ์๋ ์ ๋ฆด๋ฆฌ์ค๋ CPython 3.8.8 ๋ถ๊ธฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ๋ฌํ๋ฏ๋ก ํฅ๋ฏธ๋กญ์ต๋๋ค. ๊ธฐ๋ณธ Python๊ณผ์ ํธํ์ฑ ์ธก๋ฉด์์ Pyston ํ๋ก์ ํธ๋ CPython๊ณผ ๊ฐ์ฅ ํธํ๋๋ ๋์ฒด ๊ตฌํ์ผ๋ก ์ ์ ๋ฉ๋๋ค. Pyston์ ๊ธฐ๋ณธ CPython ์ฝ๋๋ฒ ์ด์ค์ ํฌํฌ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. Pyston์ C ์ธ์ด๋ก ํ์ฅ์ ๊ฐ๋ฐํ๊ธฐ ์ํ C API๋ฅผ ํฌํจํ์ฌ CPython์ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค. Pyston๊ณผ CPython์ ์ฃผ์ ์ฐจ์ด์ ์ค์๋ DynASM JIT ์ฌ์ฉ, ์ธ๋ผ์ธ ์บ์ฑ ๋ฐ ์ผ๋ฐ ์ต์ ํ๊ฐ ์์ต๋๋ค.
Pyston 2.2์ ๋ณ๊ฒฝ ์ฌํญ ์ค์๋ ์ฑ๋ฅ์ ๋ถ์ ์ ์ธ ์ํฅ์ ์ฃผ์ง๋ง ๊ฐ๋ฐ์๋ค ์ฌ์ด์์๋ ๊ฑฐ์ ์๊ตฌ๋์ง ์๋ CPython์ ๋ง์ ๋๋ฒ๊น
๊ธฐ๋ฅ์์ ์ฝ๋ ๋ฒ ์ด์ค๋ฅผ ์ ๋ฆฌํ๋ ๊ฒ์ ๋ํ ์ธ๊ธ๋ ์์ต๋๋ค. ๊ฐ๋ฐ์ ์ค ์ฝ 2%๋ง์ด ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ค๋ ์ฌ์ค์๋ ๋ถ๊ตฌํ๊ณ ๋๋ฒ๊น
๋๊ตฌ๋ฅผ ์ ๊ฑฐํ๋ฉด ์๋๊ฐ 2% ํฅ์๋๋ค๋ ํต๊ณ๊ฐ ์ ๊ณต๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru