QEMU اور FFmpeg کے بانی نے QuickJS JavaScript انجن شائع کیا۔

فرانسیسی ریاضی دان Fabrice Bellard، جس نے QEMU اور FFmpeg منصوبوں کی بنیاد رکھی، نے نمبر Pi کا حساب لگانے کا تیز ترین فارمولا بھی بنایا اور تصویر کی شکل تیار کی۔ بی پی جینے نئے JavaScript انجن کی پہلی ریلیز شائع کی۔ کوئیک جے ایس. انجن کمپیکٹ ہے اور دوسرے سسٹمز میں انضمام کے لیے ڈیزائن کیا گیا ہے۔ پروجیکٹ کوڈ C میں لکھا گیا ہے اور MIT لائسنس کے تحت تقسیم کیا گیا ہے۔ انجن کی ایک تعمیر بھی دستیاب ہے، جسے Emscripten کا استعمال کرتے ہوئے WebAssembly میں مرتب کیا گیا ہے اور براؤزرز میں عملدرآمد کے لیے موزوں ہے۔

جاوا اسکرپٹ کا نفاذ کی حمایت کرتا ہے ES2019 تفصیلات، بشمول ماڈیولز، غیر مطابقت پذیر جنریٹرز اور پراکسی۔ غیر معیاری ریاضی اختیاری طور پر تعاون یافتہ ہیں۔ توسیع جاوا اسکرپٹ کے لیے، جیسے BigInt اور BigFloat اقسام، نیز آپریٹر اوورلوڈنگ. QuickJS کی کارکردگی نمایاں ہے۔ سے برتر دستیاب ینالاگ، مثال کے طور پر، ٹیسٹ میں
bench-v8 انجن سے آگے ہے۔ XS 35 فیصد پر ڈیک ٹیپ دوگنا سے زیادہ جیری اسکرپٹ تین بار اور ایم یو جے ایس سات بار

ایپلی کیشنز میں انجن کو ایمبیڈ کرنے کے لیے لائبریری کے علاوہ، پروجیکٹ ایک qjs انٹرپریٹر بھی پیش کرتا ہے، جسے کمانڈ لائن سے JavaScript کوڈ چلانے کے لیے استعمال کیا جا سکتا ہے۔ مزید یہ کہ، qjsc کمپائلر دستیاب ہے، جو آؤٹ پٹ ایگزیکیوٹیبل فائلیں تیار کرنے کی صلاحیت رکھتا ہے جو اسٹینڈ-لون ایگزیکیوشن کے لیے موزوں ہے جن کے لیے بیرونی انحصار کی ضرورت نہیں ہے۔

اہم خصوصیات:

  • کومپیکٹ اور دوسرے منصوبوں میں ضم کرنے میں آسان۔ کوڈ میں صرف چند C فائلیں شامل ہیں جنہیں اسمبلی کے لیے بیرونی انحصار کی ضرورت نہیں ہے۔ سب سے آسان مرتب کردہ ایپلیکیشن تقریباً 190 KB لیتا ہے۔
  • بہت اعلی کارکردگی اور مختصر آغاز کا وقت۔ 56 ہزار ECMAScript مطابقت کے ٹیسٹ پاس کرنے میں تقریباً 100 سیکنڈ لگتے ہیں جب ایک ریگولر ڈیسک ٹاپ پی سی کے سنگل کور پر عمل درآمد کیا جاتا ہے۔ رن ٹائم شروع کرنے میں 300 مائیکرو سیکنڈ سے کم وقت لگتا ہے۔
  • ES2019 تفصیلات کے لیے تقریباً مکمل تعاون اور ضمیمہ B کے لیے مکمل تعاون، جو کہ لیگیسی ویب ایپلیکیشنز کے ساتھ مطابقت کے لیے اجزاء کی وضاحت کرتا ہے۔
  • ECMAScript ٹیسٹ سویٹ سے تمام ٹیسٹ پاس کرنا؛
  • جاوا اسکرپٹ کوڈ کو خارجی انحصار کے بغیر قابل عمل فائلوں میں مرتب کرنے کے لیے معاونت؛
  • بغیر چکر کی صفائی کے حوالہ شمار پر مبنی کوڑا اٹھانے والا، جس کی وجہ سے ہمیں قابل قیاس برتاؤ حاصل کرنے اور یادداشت کی کھپت کو کم کرنے کی اجازت دی گئی۔
  • جاوا اسکرپٹ میں ریاضیاتی حساب کے لیے ایکسٹینشن کا ایک سیٹ؛
  • کمانڈ لائن موڈ میں کوڈ کو چلانے کے لیے ایک شیل، سیاق و سباق کے کوڈ کو نمایاں کرنے کی حمایت کرتا ہے۔
  • سی لائبریری پر ریپرز کے ساتھ کمپیکٹ معیاری لائبریری۔

پروجیکٹ QuickJS میں شامل تین ساتھی C لائبریریوں کو بھی تیار کر رہا ہے اور انفرادی استعمال کے لیے موزوں ہے:

  • libregexp - ریگولر ایکسپریشنز کا تیزی سے نفاذ، Javascript ES 2019 تفصیلات کے ساتھ مکمل طور پر ہم آہنگ؛
  • libunicode - یونیکوڈ کے ساتھ کام کرنے کے لیے ایک کمپیکٹ لائبریری؛
  • libbf - صوابدیدی درستگی کے فلوٹنگ پوائنٹ آپریشنز اور ماورائی فنکشنز کا عین مطابق راؤنڈنگ کے ساتھ نفاذ۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں