Pyston-lite JIT ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ด์ œ Python 3.10์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

CPython์šฉ JIT ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” Pyston-lite ํ™•์žฅ์˜ ์ƒˆ๋กœ์šด ๋ฆด๋ฆฌ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CPython ์ฝ”๋“œ๋ฒ ์ด์Šค์—์„œ ํฌํฌ๋กœ ๋ณ„๋„๋กœ ๊ฐœ๋ฐœ๋œ Pyston ํ”„๋กœ์ ํŠธ์™€ ๋‹ฌ๋ฆฌ Pyston-lite๋Š” ํ‘œ์ค€ Python ์ธํ„ฐํ”„๋ฆฌํ„ฐ(CPython)์— ์—ฐ๊ฒฐํ•˜๋„๋ก ์„ค๊ณ„๋œ ๋ฒ”์šฉ ํ™•์žฅ์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ๋ฆด๋ฆฌ์Šค๋Š” ์ด์ „์— ์ง€์›๋œ 3.7 ๋ถ„๊ธฐ ์™ธ์—๋„ Python 3.9, 3.10 ๋ฐ 3.8 ๋ถ„๊ธฐ์— ๋Œ€ํ•œ ์ง€์›์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์œ ๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Pyston-lite๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด PIP ๋˜๋Š” Conda ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๊ฐ€ ํ™•์žฅ์„ ์„ค์น˜ํ•˜์—ฌ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ ๋„ ๊ธฐ๋ณธ Pyston ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Pyston-lite๋Š” ์ด๋ฏธ PyPI ๋ฐ Conda ์ €์žฅ์†Œ์— ํ˜ธ์ŠคํŒ…๋˜์–ด ์žˆ์œผ๋ฉฐ ์ด๋ฅผ ์„ค์น˜ํ•˜๋ ค๋ฉด "pip install pyston_lite_autoload" ๋˜๋Š” "conda install pyston_lite_autoload -c pyston" ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. pyston_lite(์ง์ ‘ JIT) ๋ฐ pyston_lite_autoload(Python ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์ž‘๋  ๋•Œ ์ž๋™ JIT ๋Œ€์ฒด ์ˆ˜ํ–‰)์˜ ๋‘ ๊ฐ€์ง€ ํŒจํ‚ค์ง€๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. pyston_lite.enable() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž๋™ ๋กœ๋“œ ๋ชจ๋“ˆ์„ ์„ค์น˜ํ•˜์ง€ ์•Š๊ณ ๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ JIT ํฌํ•จ์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ์ œ์–ดํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๊ฐœ๋ฐœ์ž๋“ค์€ ์ด์ œ Pyston-lite๋ฅผ ์ฃผ์š” ์ œํ’ˆ์œผ๋กœ ๊ณ ๋ คํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜ Pyston์€ ๋” ๋†’์€ ์„ฑ๋Šฅ์„ ํ—ˆ์šฉํ•˜์ง€๋งŒ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ๊ต์ฒดํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ์ด ์ œํ•œ๋˜๋Š” ๋ฐ˜๋ฉด Pyston-lite๋Š” ๊ธฐ์กด ๊ตฌ์„ฑ์— ์‰ฝ๊ฒŒ ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค. Pyston์— ์กด์žฌํ•˜๋Š” ํŠน์ • ์ตœ์ ํ™”๋Š” ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ๊ธฐ๋ณธ CPython ๊ตฌ์„ฑ์œผ๋กœ ์ด์ „๋ฉ๋‹ˆ๋‹ค. ์žฅ๊ธฐ์ ์œผ๋กœ๋Š” JIT ์ปดํŒŒ์ผ๋Ÿฌ์˜ ๊ตฌํ˜„์„ CPython์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋กœ ์ด์ „ํ•˜๋ ค๋Š” ๋ฐ”๋žŒ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ํ˜•ํƒœ์—์„œ CPython 3.8๊ณผ ๋น„๊ตํ•˜์—ฌ Pyston-lite๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋งคํฌ๋กœ๋ฒค์น˜๋งˆํฌ ํ…์ŠคํŠธ์—์„œ 10%, ํŒŒ์ด ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ์—์„œ 28% ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„๊ต๋ฅผ ์œ„ํ•ด ๋…๋ฆฝํ˜• Pyston์„ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์€ ๊ฐ๊ฐ 28%์™€ 65%์ž…๋‹ˆ๋‹ค.

์ฃผ์š” CPython 3.11 ํ”„๋กœ์ ํŠธ์˜ ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค์—๋Š” ๋ฐ”์ดํŠธ์ฝ”๋“œ ์ƒํƒœ ์บ์‹ฑ, ๋” ๋น ๋ฅธ ํ•จ์ˆ˜ ํ˜ธ์ถœ, ์ผ๋ฐ˜ ์ž‘์—…์„ ์œ„ํ•œ ๋น ๋ฅธ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์‚ฌ์šฉ๊ณผ ๊ด€๋ จ๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋ฌผ๋ก  Cinder ๋ฐ HotPy ํ”„๋กœ์ ํŠธ์—์„œ ์ค€๋น„ํ•œ ์ผ๋ถ€ ์ตœ์ ํ™”๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์œ„ ํ…Œ์ŠคํŠธ์—์„œ CPython 3.11rc2๋Š” 12%์™€ 26%์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Pyston-lite์˜ ์„ฑ๋Šฅ๊ณผ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค(์ƒˆ๋กœ์šด CPython๊ณผ Pyston-lite๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์ตœ์ ํ™”๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Pyston-lite๋ฅผ CPython์œผ๋กœ ํฌํŒ…ํ•ฉ๋‹ˆ๋‹ค. 3.11์—์„œ๋Š” ์ด ๋ถ„๊ธฐ์˜ ์„ฑ๋Šฅ์ด ๋”์šฑ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€