ফায়ারফক্স 70 উন্নত জাভাস্ক্রিপ্ট দোভাষী নিয়ে আসবে

ফায়ারফক্স 70

এটা সাধারণ জ্ঞান যে আধুনিক ওয়েব অ্যাপ্লিকেশনগুলি আরও অনেক বেশি জাভাস্ক্রিপ্ট কোড চালায় কয়েক বছর আগে চেয়ে। যদিও সংকলকগণ দ্রুত প্রবণতা অনুসরণ করেছে এবং জাভাস্ক্রিপ্টকে দক্ষ করে তুলেছে, মজিলার জন্য এই কাজের চাপকে আরও ভাল পরিচালনা করার জন্য একটি সমাধান অবশ্যই প্রয়োগ করা উচিত।

এটি করতে, মোজিলা একটি নতুন বাইকোড দোভাষী তৈরি করেছে এবং যুক্ত করেছে জাভাস্ক্রিপ্ট ফায়ারফক্স 70 এ নির্মিত এর জাভাস্ক্রিপ্ট রেন্ডারিং ইঞ্জিনে। ফায়ারফক্স next০ এর সাথে আগামী অক্টোবরে উপলভ্য, মোজিলা তার জাভা স্ক্রিপ্ট ইঞ্জিনে নতুন কোড ইন্টারপ্রেটার যুক্ত করে আরও ভাল জাভাস্ক্রিপ্ট কোড পরিচালনার ঘোষণা করেছে।

এই লক্ষ্য অর্জন, মজিলা তা ব্যাখ্যা করে আধুনিক জাভাস্ক্রিপ্ট ইঞ্জিনগুলিতে প্রতিটি ফাংশন প্রাথমিকভাবে একটি কোড ইন্টারপ্রেটারে কার্যকর করা হয়।

যে ক্রিয়াকলাপকে প্রচুর বলা হয় সেগুলি দেশীয় মেশিন কোডে সংকলিত হয়। এটিকে ফ্লাইটে একটি জেআইটি সংকলন বা সংকলন বলা হয়। হিসাবে ফায়ারফক্সে সি ++ এবং জেআইটি সংকলনের বিভিন্ন স্তরে লিখিত একটি জাভাস্ক্রিপ্ট কোড ইন্টারপ্রেটারও অন্তর্ভুক্ত রয়েছে।

প্রথমত, আমাদের কাছে একটি বেসিক জেআইটি সংকলক রয়েছে যা আয়নমোনকি বা আয়ন নামক জেআইটি সংকলকের জন্য পারফরম্যান্স এবং তথ্য সংগ্রহের জন্য উভয়ই ইনলাইন ক্যাশে ব্যবহার করে মেশিন কোডের একটি ছোট্ট টুকরোতে প্রতিটি বাইটকোড বিবৃতি সরাসরি সংকলন করে।

পরিবর্তে, আইওনকনকি সংকলক সমালোচনামূলক বিকল্পগুলির জন্য দ্রুত কোড উত্পন্ন করতে উন্নত অপ্টিমাইজেশন ব্যবহার করে।

এটি লক্ষ করা উচিত যে একটি ফাংশন যা ইতিমধ্যে সংকলিত হচ্ছে যখন নতুন ধরণের যুক্তি সহ কল ​​করা হয়, তখন ফাংশনটির কোডটি "ডিওপিমাইজড" এবং বাতিল করা যেতে পারে। এই ক্ষেত্রে, পরবর্তী অয়ন তৈরি না হওয়া পর্যন্ত বেস কোডে কার্যকর করা অব্যাহত থাকে।

যদিও জাভাস্ক্রিপ্ট কোডটির ব্যাখ্যার এই প্রক্রিয়া এখনও অবধি বেশ ভালভাবে কাজ করেছে, দলটি ফায়ারফক্স ব্যাখ্যা করেছে যে এটি প্রথমটি নিয়ে কিছু সমস্যার মুখোমুখি হয়েছিল অংশ সি ++ দোভাষী এবং বেস জেআইটি সংকলক দিয়ে তৈরি।

ফায়ারফক্স 70

আসলে, কিছু আধুনিক ওয়েব অ্যাপ্লিকেশন গুগল ডক্স বা জিমেইলের মতো এত জাভাস্ক্রিপ্ট চালান যে সংকলক বেস এবং এমনকি জেআইটি সংকলক তারা হাজার হাজার ক্রিয়াকলাপ সঙ্কলনের চেষ্টা করে দীর্ঘ সময় ব্যয় করতে পারে।

এছাড়াও, সি ++ দোভাষী খুব ধীর হয়ে গেছে এবং বেসিক সংকলন বিলম্ব করে ধরণের তথ্য সংগ্রহ করে না। একটি সমাধান হ'ল এটি থ্রেড থেকে সরিয়ে ফেলতে পারে তবে এটি পারফরম্যান্সের ঝুঁকি হতে পারে।

এই সমস্যাগুলি সমাধান করতে, মজিলার লোকেরা মন্তব্য করেছেন:

বেস ইন্টারপ্রেটারটি সি ++ ইন্টারপ্রেটার এবং বেস জেআইটি সংকলকের মধ্যে থাকে এবং উভয় স্তরের উপাদান রয়েছে।

স্থির ইন্টারপ্রিটার লুপ (সি ++ ইন্টারপ্রেটারের মতো) দিয়ে সমস্ত বাইটকোড স্টেটমেন্ট কার্যকর করে এবং কার্যকারিতা উন্নত করতে এবং টাইপ তথ্য সংগ্রহের জন্য ইনলাইন ক্যাচিং কৌশল ব্যবহার করে (যেমন বেসিক জেআইটি করে)।

দোভাষী তৈরি করা কোনও নতুন ধারণা নয়। তবে ফায়ারফক্স দল এখানে উল্লেখ করেছে যে তারা বেশিরভাগ বেসিক জেআইটি সংকলক কোডটি পুনরায় ব্যবহার করে এটি করার একটি নতুন উপায় খুঁজে পেয়েছে। বেসিক জেআইটি সংকলকটি একটি জেআইটি মডেল, যার অর্থ প্রতিটি ইন্টারমিডিয়েট কোড নির্দেশ মেশিনের নির্দেশাবলীর যথাযথভাবে নির্ধারিত অনুক্রমে সংকলিত হয় যা তারপরে একটি ব্যাখ্যা লুপে পরামর্শ দেওয়া হয়।

এছাড়াও, যেহেতু ফায়ারফক্স বিকাশকারীরা বেস অনলাইন দোভাষীটি একই অনলাইন ক্যাশে ব্যবহার করতে চেয়েছিলেন এবং জেআইটির মতো একই তথ্য, জিটস্ক্রিপ্ট নামে একটি নতুন ডেটা স্ট্রাকচার যুক্ত হয়েছিল।

জিটস্ক্রিপ্টে সমস্ত ধরণের তথ্য এবং বেস ইন্টারলিটার এবং জেআইটি সংকলক দ্বারা ব্যবহৃত ইনলাইন ক্যাশে ডেটা স্ট্রাকচার রয়েছে।

এই নতুন বাস্তবায়নের সাথে, কোনও ফাংশনের জন্য প্রাথমিক সংকলক ডেটা এখন কেবলমাত্র মেশিন কোডে। সেখান থেকে সমস্ত ক্যাশেড তথ্য এবং প্রোফাইলিং ডেটা জিটস্ক্রিপ্টে সরানো হয়েছে।

অন্যদিকে, যেহেতু বেস ইন্টারপ্রেটার এবং জেআইটি সংকলকটি অভিন্ন, উত্পন্ন কোডের অনেকগুলি ভাগও করা যায়।

এটি করতে, বেসলাইনকডজেন নামে একটি বেস ক্লাসটি তৈরি করা হয়েছিল অন্য 2 টি উত্পন্ন ক্লাসের সাথে। বেস সংকলক মেশিন কোডে স্ক্রিপ্টের বাইকোড সংকলন করতে প্রথম শ্রেণীর বালিনকম্পিলার ব্যবহার করে।

দ্বিতীয় বেসলাইনআইটারিপ্রেটার জেনারেটর ক্লাসটি বেস ইন্টারপ্রেটারের কোড তৈরি করতে ব্যবহৃত হয়। এবং বেসলাইনআইটারপ্লেটার জেনারেটর ক্লাসের সাহায্যে ফায়ারফক্স দলটি বেস ইন্টারপ্রেটার তৈরি করতে সক্ষম হয়েছিল।

উৎস: https://hacks.mozilla.org/


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।