Python ์ปดํŒŒ์ผ๋Ÿฌ์ธ Codon์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์Šคํƒ€ํŠธ์—… Exaloop์€ Python ๋Ÿฐํƒ€์ž„์— ๋ฌถ์ด์ง€ ์•Š๊ณ  ์ˆœ์ˆ˜ํ•œ ๊ธฐ๊ณ„์–ด ์ฝ”๋“œ๋ฅผ ์ถœ๋ ฅ์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” Python ์–ธ์–ด์šฉ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” Codon ํ”„๋กœ์ ํŠธ์šฉ ์ฝ”๋“œ๋ฅผ ๊ฒŒ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ๋Š” Python๊ณผ ์œ ์‚ฌํ•œ ์–ธ์–ด์ธ Seq์˜ ์ž‘์„ฑ์ž์— ์˜ํ•ด ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์œผ๋ฉฐ ๊ทธ ๊ฐœ๋ฐœ์˜ ์—ฐ์†์œผ๋กœ ์ž๋ฆฌ๋งค๊น€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ํ”„๋กœ์ ํŠธ๋Š” ์‹คํ–‰ ํŒŒ์ผ์„ ์œ„ํ•œ ์ž์ฒด ๋Ÿฐํƒ€์ž„๊ณผ Python์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜ธ์ถœ์„ ๋Œ€์ฒดํ•˜๋Š” ํ•จ์ˆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ, ๋Ÿฐํƒ€์ž„ ๋ฐ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์†Œ์Šค ์ฝ”๋“œ๋Š” C++(LLVM์˜ ๊ฐœ๋ฐœ ์‚ฌ์šฉ) ๋ฐ Python์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ BSL(Business Source License)์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

BSL ๋ผ์ด์„ ์Šค๋Š” Open Core ๋ชจ๋ธ์˜ ๋Œ€์•ˆ์œผ๋กœ MySQL์˜ ๊ณต๋™ ์ฐฝ๋ฆฝ์ž๊ฐ€ ์ œ์•ˆํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. BSL์˜ ํ•ต์‹ฌ์€ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ ์ฝ”๋“œ๋ฅผ ์ฒ˜์Œ์—๋Š” ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ถ”๊ฐ€ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ•œ๋™์•ˆ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์šฐํšŒํ•˜๋ ค๋ฉด ์ƒ์šฉ ๋ผ์ด์„ ์Šค๋ฅผ ๊ตฌ์ž…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Codon ํ”„๋กœ์ ํŠธ์˜ ์ถ”๊ฐ€ ๋ผ์ด์„ผ์Šค ์กฐ๊ฑด์€ 2.0๋…„(3๋…„ 1์›” 2025์ผ) ํ›„์— ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ Apache XNUMX ๋ผ์ด์„ผ์Šค๋กœ ์ด์ „ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ๊นŒ์ง€๋Š” ๋น„์ƒ์—…์  ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ์— ํ•œํ•ด ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ณต์‚ฌ, ๋ฐฐํฌ ๋ฐ ์ˆ˜์ •์ด ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ถœ๋ ฅ ์‹คํ–‰ ํŒŒ์ผ์˜ ์„ฑ๋Šฅ์€ C ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์— ๊ฐ€๊นŒ์šด ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. CPython์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„๊ตํ•˜์—ฌ Codon์„ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํŒŒ์ผํ•  ๋•Œ์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์€ ๋‹จ์ผ ์Šค๋ ˆ๋“œ ์‹คํ–‰์˜ ๊ฒฝ์šฐ 10~100๋ฐฐ๋กœ ์ถ”์ •๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Python๊ณผ ๋‹ฌ๋ฆฌ Codon์€ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€๋กœ ๊ตฌํ˜„ํ•˜๋ฏ€๋กœ ์„ฑ๋Šฅ์ด ๋”์šฑ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. Codon์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ณ„ ํ•จ์ˆ˜ ์ˆ˜์ค€์—์„œ ์ปดํŒŒ์ผํ•˜์—ฌ ๊ธฐ์กด Python ํ”„๋กœ์ ํŠธ์—์„œ ์ปดํŒŒ์ผ๋œ ํ‘œํ˜„์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Codon์€ ์ƒˆ๋กœ์šด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ์ตœ์ ํ™”๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ , ์ถ”๊ฐ€ ๊ตฌ๋ฌธ์— ๋Œ€ํ•œ ์ง€์›์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ†ตํ•ด ๊ธฐ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“ˆ์‹ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์ถ•๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ƒ๋ฌผ์ •๋ณดํ•™ ๋ฐ ๊ธˆ์œต ์ˆ˜ํ•™์— ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ๋™์‹œ์— ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Boehm ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๋Œ€๋ถ€๋ถ„์˜ Python ๊ตฌ๋ฌธ์„ ์ง€์›ํ•˜์ง€๋งŒ ๊ธฐ๊ณ„์–ด ์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผํ•˜๋ฉด Codon์ด CPython์˜ ํˆฌ๋ช…ํ•œ ๋Œ€์ฒดํ’ˆ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ œํ•œ ์‚ฌํ•ญ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Codon์€ ์ •์ˆ˜์— 64๋น„ํŠธ int ์œ ํ˜•์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ˜๋ฉด CPython์€ ์ •์ˆ˜์— ๋ฌด์ œํ•œ ํฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๊ทœ๋ชจ ์ฝ”๋“œ๋ฒ ์ด์Šค๋Š” Codon ํ˜ธํ™˜์„ฑ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์ฝ”๋“œ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋น„ํ˜ธํ™˜์„ฑ์€ ํŠน์ • Python ๋ชจ๋“ˆ์˜ Codon ๊ตฌํ˜„ ๋ถ€์กฑ๊ณผ ์–ธ์–ด์˜ ์ผ๋ถ€ ๋™์  ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋น„ํ˜ธํ™˜์„ฑ ๊ฐ๊ฐ์— ๋Œ€ํ•ด ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๋ฌธ์ œ๋ฅผ ํšŒํ”ผํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ์ž์„ธํ•œ ์ง„๋‹จ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐœํ–‰ํ•ฉ๋‹ˆ๋‹ค.

Python ์ปดํŒŒ์ผ๋Ÿฌ์ธ Codon์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


์ถœ์ฒ˜ : opennet.ru

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