QEMU ๋ฐ FFmpeg ์ฐฝ๋ฆฝ์ž๊ฐ€ ๋งŒ๋“  ์ž„๋ฒ ๋””๋“œ JavaScript ์—”์ง„์˜ ์ƒˆ ๋ฒ„์ „

QEMU ๋ฐ FFmpeg ํ”„๋กœ์ ํŠธ๋ฅผ ์„ค๋ฆฝํ•œ ํ”„๋ž‘์Šค ์ˆ˜ํ•™์ž Fabrice Bellard๊ฐ€ ์ž์‹ ์ด ๊ฐœ๋ฐœํ•œ ์†Œํ˜• ์ž„๋ฒ ๋””๋“œ JavaScript ์—”์ง„์˜ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. QuickJS. ์—”์ง„์€ ES2019 ์‚ฌ์–‘๊ณผ BigInt ๋ฐ BigFloat ์œ ํ˜•๊ณผ ๊ฐ™์€ ์ถ”๊ฐ€ ์ˆ˜ํ•™ ํ™•์žฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. QuickJS์˜ ์„ฑ๋Šฅ์ด ๋ˆˆ์— ๋•๋‹ˆ๋‹ค ๋Šฅ๊ฐ€ํ•˜๋‹ค ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์œ ์‚ฌ์ฒด(XS 35 % ๋•ํ…Œ์ดํ”„ ๋‘ ๋ฒˆ ์ด์ƒ ์ œ๋ฆฌ์Šคํฌ๋ฆฝํŠธ ์„ธ ๋ฒˆ ๊ทธ๋ฆฌ๊ณ  MuJS ์ผ๊ณฑ ๋ฒˆ). ์ด ํ”„๋กœ์ ํŠธ๋Š” ์—”์ง„์„ ๋‚ด์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ๋ช…๋ น์ค„์—์„œ JavaScript ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ qjs ํ•ด์„๊ธฐ, ์ž์ฒด ํฌํ•จ ์‹คํ–‰ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ qjsc ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” C๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ๋ฐฐํฌ์ž MIT ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ. ํ…์ŠคํŠธ์—์„œ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์„ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ํ˜ธ ๋ฐœํ‘œ.

์ƒˆ ๋ฒ„์ „์—๋Š” ์œ ํ˜•์— ๋Œ€ํ•œ ์‹คํ—˜์  ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. BigDecimal, ์ด๋ฅผ ํ†ตํ•ด ์ž„์˜์˜ ์ •๋ฐ€๋„๋กœ ์‹ญ์ง„์ˆ˜๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊ธฐ๋ณธ์ด 10์ธ ์ˆซ์ž์˜ ๊ฒฝ์šฐ BigInt์™€ ์œ ์‚ฌ). ์—ฐ์‚ฐ์ž ์˜ค๋ฒ„๋กœ๋”ฉ ๊ตฌํ˜„์ด ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€๋จ ์˜ˆ์ œ๋“ค ์†Œ์ˆ˜์  ์ดํ•˜ XNUMX์–ต ์ž๋ฆฌ์˜ ์ •ํ™•๋„๋กœ Pi๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ(์ˆ˜ํ•™์ž๋กœ์„œ Fabrice Bellard๋Š” Pi ๊ณ„์‚ฐ์„ ์œ„ํ•œ ๊ฐ€์žฅ ๋น ๋ฅธ ๊ณต์‹์˜ ์ฐฝ์‹œ์ž๋กœ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค).

์ถœ์ฒ˜ : opennet.ru

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