Raku ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(์ด์ „ Perl 2021.12)์šฉ Rakudo ์ปดํŒŒ์ผ๋Ÿฌ ๋ฆด๋ฆฌ์Šค 6

Raku ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(์ด์ „ Perl 2021.12)์šฉ ์ปดํŒŒ์ผ๋Ÿฌ์ธ Rakudo์˜ 6 ๋ฆด๋ฆฌ์Šค๊ฐ€ ๋ฐœํ‘œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ์›๋ž˜ ์˜ˆ์ƒ๋Œ€๋กœ Perl 6์˜ ์—ฐ์†์ด ์•„๋‹ˆ์—ˆ์ง€๋งŒ ์†Œ์Šค ์ˆ˜์ค€์—์„œ Perl 5์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๊ณ  ๋ณ„๋„์˜ ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๊ฐœ๋ฐœ๋œ ๋ณ„๋„์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— Perl 5์—์„œ ์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— Rakudo์—์„œ ์ปดํŒŒ์ผ๋œ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ™˜๊ฒฝ์„ ํ˜•์„ฑํ•˜๋Š” MoarVM 2021.12 ๊ฐ€์ƒ ๋จธ์‹ ์˜ ์ถœ์‹œ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. Rakudo๋Š” JVM ๋ฐ ์ผ๋ถ€ JavaScript ๊ฐ€์ƒ ๋จธ์‹ ์— ๋Œ€ํ•œ ์ปดํŒŒ์ผ๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

Rakudo 2021.12์˜ ๊ฐœ์„  ์‚ฌํ•ญ์—๋Š” ๋ฃจํ‹ด ๋ชจ๋“ˆ์— ๋Œ€ํ•œ is-wrapped ๋ฉ”์„œ๋“œ ์ง€์› ์ถ”๊ฐ€, ๋ฏธ๋ฆฌ ์ปดํŒŒ์ผ๋œ ๋ชจ๋“ˆ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ stderr์— ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•œ RAKUDO_PRECOMPILATION_PROGRESS ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๊ตฌํ˜„, IterationBuffer.unshift, IterationBuffer.prepend ๋ฐ IterationBuffer.new ์ถ”๊ฐ€๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. (๋ฐ˜๋ณต ๊ฐ€๋Šฅ) ๋ฉ”์„œ๋“œ์™€ ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ฉ”์„œ๋“œ .match, .subst-mutate ๋ฐ .subst, Date.new(year,month,day) ํ˜ธ์ถœ ์†๋„๊ฐ€ 40% ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. MoarVM์˜ ์ƒˆ ๋ฒ„์ „์€ JIT ๋ฐ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ ๊ตฌํ˜„์„ ๊ฐœ์„ ํ•˜๊ณ  ์ƒˆ๋กœ์šด ์ตœ์ ํ™” ๋ฐ ๋ณด์•ˆ ๊ฒ€์‚ฌ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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