د QEMU او FFmpeg بنسټ ایښودونکی QuickJS JavaScript انجن خپروي

فرانسوي ریاضي پوه فابریس بیلارډ، چې یو وخت یې د QEMU او FFmpeg پروژې تاسیس کړې، او د pi محاسبه کولو لپاره یې ترټولو چټک فورمول هم جوړ کړ او د انځور بڼه یې جوړه کړه. بی پی جی، د نوي جاواسکریپټ انجن لومړۍ خپرونه خپره کړه QuickJS. انجن کمپیکٹ دی او په نورو سیسټمونو کې د ځای په ځای کولو تمرکز کوي. د پروژې کوډ په C کې لیکل شوی او د MIT جواز لاندې ویشل شوی. همدارنګه د انجن یوه مجلس هم شتون لري چې د Emscripten په کارولو سره WebAssembly ته ترتیب شوی او په براوزرونو کې د اجرا کولو لپاره مناسب دی.

د جاوا سکریپټ تطبیق ملاتړ کوي د ES2019 توضیحات، په شمول د ماډلونو، غیر متناسب جنراتورونو، او پراکسي. د غیر معیاري ریاضی لپاره اختیاري ملاتړ پراختیا د JavaScript لپاره، لکه BigInt او BigFloat ډولونه، او همدارنګه آپریټر ډیر بار کول. د فعالیت په شرایطو کې، QuickJS د پام وړ دی لوړ موجوده انلاګونه، د بیلګې په توګه، په ازموینه کې
bench-v8 د انجن څخه مخکې دی XS د 35 by لخوا ، duktape له دوه ځله څخه زیات جیری سکریپټ درې ځله او MuJS اوه ځله

په غوښتنلیکونو کې د انجن سرایت کولو لپاره د کتابتون سربیره، پروژه د qjs ژباړونکي هم وړاندیز کوي، کوم چې د کمانډ لاین څخه د جاواسکریپټ کوډ چلولو لپاره کارول کیدی شي. سربیره پردې ، د qjsc کمپیلر شتون لري ، د سټایلون اجرایوي فایلونو رامینځته کولو وړ دی چې بهرني انحصار ته اړتیا نلري.

کلیدي ب Featuresې:

  • تړون او په نورو پروژو کې د ادغام لپاره اسانه. کوډ کې یوازې یو څو C فایلونه شامل دي چې د جوړولو لپاره بهرني انحصار ته اړتیا نلري. تالیف شوی ساده غوښتنلیک شاوخوا 190 KB وخت نیسي؛
  • ډیر لوړ فعالیت او ټیټ پیل وخت. د 56 زره ECMAScript مطابقت ازموینې پاس کول شاوخوا 100 ثانیې وخت نیسي کله چې د عادي ډیسټاپ کمپیوټر په یوه واحد کې اجرا شي. د چلولو پیل کول له 300 مایکرو ثانیو څخه لږ وخت نیسي؛
  • د ES2019 مشخصاتو لپاره نږدې بشپړ ملاتړ او د ضمیمه B لپاره بشپړ ملاتړ ، کوم چې د زړو ویب غوښتنلیکونو سره مطابقت لپاره اجزا تعریفوي؛
  • د ECMAScript ټیسټ سویټ څخه د ټولو ازموینو بشپړ پاسول؛
  • د جاواسکریپټ کوډ تالیف کولو لپاره ملاتړ د اجرا وړ فایلونو کې د بهرني انحصار پرته؛
  • د حوالې شمیرل شوي کثافات راټولونکی پرته د پاکولو سایکل چلولو ، کوم چې د وړاندوینې وړ چلند او د حافظې مصرف کمولو ته اجازه ورکوي؛
  • په جاواسکریپټ ژبه کې د ریاضیاتي حسابونو لپاره د توسیعونو یوه ټولګه؛
  • د کمانډ لاین حالت کې د کوډ اجرا کولو لپاره شیل چې د متني کوډ روښانه کولو ملاتړ کوي؛
  • یو کمپیکٹ معیاري کتابتون چې د C کتابتون سره تړل کیږي.

پروژه درې ملګري C-کتابتونونه هم رامینځته کوي چې په QuickJS کې ښکیل دي او د جلا غوښتنلیک لپاره مناسب دي:

  • libregexp د منظم بیان یو ګړندی تطبیق دی چې د Javascript ES 2019 مشخصاتو سره په بشپړ ډول مطابقت لري؛
  • libunicode - د یونیکوډ سره کار کولو لپاره یو کمپیکٹ کتابتون؛
  • libbf د خپلمنځي دقت د فلوټینګ پوائنټ عملیاتو پلي کول او دقیق ګردي انتقالي افعال دي.

سرچینه: opennet.ru

Add a comment