STATUS IS UPওয়েবসাইট অপ্টিমাইজেশন উইকি
25দ্রুততর করুন
পারফরম্যান্স ও ডেলিভারি / দ্রুততর করুন

JavaScript কর্মক্ষমতা: মেইন-থ্রেডের কাজ কমান

একটি পেজকে বিলম্ব করানো বা হোঁচট খাওয়ানো JavaScript চিহ্নিত করুন, অপ্রয়োজনীয় কাজ মুছে ফেলুন বা বিলম্ব করান, এবং ব্যবহারকারীর ইন্টারঅ্যাকশনগুলো সুরক্ষিত রাখুন।

JavaScript কর্মক্ষমতা: মেইন-থ্রেডের কাজ কমান — ভিজ্যুয়াল গাইড
পড়ুন
8 মিনিট
সূত্র
5
পুনরায় যাচাই করুন
2027-03-27
পর্যালোচিত
সিনিয়র ওয়েব পারফরম্যান্স রিভিউয়ার
সংক্ষিপ্ত উত্তর

সিদ্ধান্ত দিয়ে শুরু করুন।

বাস্তব একটি পেজ ও ইন্টারঅ্যাকশন মেপে মেইন-থ্রেডের কাজ কমান, তারপর সবচেয়ে বড় ও পুনরাবৃত্ত খরচটি ঠিক করুন। মেইন থ্রেড পেজের বেশিরভাগ JavaScript এবং ইন্টারফেসের কাজ একবারে একটি করে টাস্ক হিসেবে চালায়। ৫০ মিলিসেকেন্ডের বেশি সময় নেওয়া টাস্ককে long task বলা হয়; এর ফলে ট্যাপ, ক্লিক, স্ক্রল বা পেইন্টকে অপেক্ষা করতে হতে পারে। শুরুতে চেকআউট, সার্চ, ন্যাভিগেশন, ফর্ম এবং অন্যান্য সংবেদনশীল ব্যবহারকারী-যাত্রাকে অগ্রাধিকার দিন।

প্রত্যেক খরচের জন্য সেটি অপসারণ করুন, প্রয়োজন হলে বিলম্বিত করুন, ছোট ব্যাচে ভাগ করুন, বা সীমাবদ্ধ গণনা Web Worker-এ সরান। মূল প্রতিক্রিয়া মেইন থ্রেডেই রাখুন, কিন্তু অপ্রয়োজনীয় পরবর্তি কাজ (উদাহরণ: অ্যানালিটিক্স) পিছিয়ে দিন। প্রতিটি তৃতীয়-পক্ষ ট্যাগকে একটি নির্ভরশীলতা বলে বিবেচনা করুন যার একজন মালিক আছে। সীমাসম্পন্ন মোবাইল সিপিইউ-তে পুনরায় পরীক্ষা করুন এবং গুরুত্বপূর্ণ ফ্লো-এর জন্য রোলব্যাক রাখুন।

ভিজ্যুয়াল গাইড

কাজটিকে একটি সিস্টেম হিসেবে দেখুন।

কোনো নির্দিষ্ট কৌশল গ্রহণের আগে নিবন্ধটির সিদ্ধান্তগুলোকে সংযুক্ত করতে এই মানচিত্রটি ব্যবহার করুন।

SIUদ্রুততর করুন
01কোড পরিবর্তন করার আগে একটি কাস্টমার জার্নি প্রোফাইল করুন
02ট্রেসকে কাজের একটি কিউ হিসাবে পড়ুন
03যেখানে তা জরুরি সেখানে কম কোড পাঠান
04কাজ ভাগ করুন যাতে ব্রাউজার প্রতিক্রিয়া জানাতে পারে
01

কোড পরিবর্তন করার আগে একটি কাস্টমার জার্নি প্রোফাইল করুন

একটি গুরুত্বপূর্ণ রুট এবং ইন্টারঅ্যাকশন নির্বাচন করুন—যেমন ন্যাভিগেশন খোলা, রেজাল্ট ফিল্টার করা, বা একটি ফর্ম সাবমিট করা। Chrome DevTools-এর Performance প্যানেলে ক্লিন ব্রাউজার স্টেটে এটি রেকর্ড করুন। অ্যাকশনটি পুনরাবৃত্তি করুন এবং একটি থ্রটল করা CPU রান ও একটি ডেভেলপমেন্ট-মেশিন রান দুইই ক্যাপচার করুন; ডেস্কটপ ট্রেসগুলো স্বল্পক্ষম ফোনে বিঘ্ন ঘটানো কাজ লুকিয়ে রাখতে পারে।

ট্রেসটি ব্যবহার করুন একটি সংকীর্ণ হাইপোথিসিস পরীক্ষা করার জন্য—বাণ্ডল রিপোর্ট থেকে কোনো কম্পোনেন্টকে দোষারোপ করতে নয়। Main flame chart-এ, বড় বারগুলি বেশি সময় নেয় এবং stacked বারগুলো কল স্ট্যাক দেখায়। কোনো Task-এ লাল ত্রিভুজ একটি সম্ভাব্য long task নির্দেশ করে; সেটি নির্বাচন করে initiating-code লিঙ্কটি অনুসরণ করুন। অর্থময় পরিবর্তনের জন্য আগে-ও-পরের ট্রেস সংরক্ষণ করুন।

মুহূর্তটি ধারণ করুন

অ্যাকশন শুরুর ঠিক আগে রেকর্ড শুরু করুন এবং দৃশ্যমান ফলাফল পাওয়ার পর থামান।

পুনরাবৃত্তিমূলক কেস ব্যবহার করুন

রুট, অ্যাকাউন্ট স্টেট এবং অ্যাকশন সিরিয়াল ধারাবাহিক রাখুন।

মালিক নির্দিষ্ট করুন

প্রতিটি শীর্ষ খরচ সেই দলের বা ভেন্ডরের কাছে আনুন যে এটি পরিবর্তন করতে পারে।

02

ট্রেসকে কাজের একটি কিউ হিসাবে পড়ুন

একটি long task হলো তদন্ত শুরু করার থ্রেশহোল্ড, সম্পূর্ণ ডায়াগনসিস নয়। W3C Long Tasks specification 50 মিলিসেকেন্ড বা তার বেশি সময়ের টাস্ক রিপোর্ট করে। একটি টাস্কের নীচে JavaScript evaluation, ইভেন্ট হ্যান্ডলার, স্টাইল পুনঃহিসাব, লেআউট, বা পেইন্ট থাকতে পারে—এসব দেখুন। কল স্ট্যাক কোথা থেকে তদন্ত শুরু করবেন তা দেখায়; সময়ের বিন্যাস বলে দেয় সমস্যাটি কোড, রেন্ডারিং, নাকি তৃতীয়-পক্ষের ফ্রেমে।

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

মুহূর্তগুলো পৃথক করুন

স্টার্টআপ পার্সিংয়ের জন্য আলাদা সমাধান দরকার, পোস্ট-ট্যাপ হ্যান্ডলারের জন্য আলাদা।

রেন্ডারিং পরীক্ষা করুন

রিফ্যাক্টরিংয়ের আগে পুনরাবৃত্ত স্টাইল-লিখা এবং লেআউট-পড়ার প্যাটার্ন খুঁজে বের করুন।

বেসলাইন রাখুন

ট্রেস, সিনারিও এবং শীর্ষ খরচ কাজ আইটেমে সংযুক্ত রাখুন।

03

যেখানে তা জরুরি সেখানে কম কোড পাঠান

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

কোনো কম্পোনেন্টে কি সম্পূর্ণ ক্লায়েন্ট-সাইড ফ্রেমওয়ার্ক দরকার, কোনো ইউটিলিটি কি বিদ্যমান সক্ষমতার পুনরাবৃত্তি করছে, এবং স্ট্যাটিক HTML-এর সঙ্গে ছোট কোনো উন্নতি কি যথেষ্ট হবে—এসব প্রশ্ন করুন। বিলম্বিত মডিউলের ফলব্যাক অবস্থা পরীক্ষা করুন। পেজটি ঐচ্ছিক সক্ষমতা সুচারুভাবে পিছিয়ে দেবে, অচল কন্ট্রোল দেখাবে না।

রুট বাজেট তৈরি করুন

কোন রুটে কোন স্ক্রিপ্ট অনুমোদিত এবং কেন তা ডকুমেন্ট করুন।

ইনটেন্ট অনুযায়ী লোড করুন

অপশনাল এডিটর, ম্যাপ, প্লেয়ার, বা রিপোর্টিং ভিউগুলোর জন্য এটি বিবেচনা করুন।

সমালোচনামূলক পথ সুরক্ষিত রাখুন

অথেনটিকেশন, অ্যাক্সেসিবিলিটি, পেমেন্ট, এবং ফর্ম সম্পন্নতা পরীক্ষা করুন; যেখানে কন্ট্রোল প্রভাবিত হয় সেখানে যোগ্য পর্যালোচনা চান।

04

কাজ ভাগ করুন যাতে ব্রাউজার প্রতিক্রিয়া জানাতে পারে

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

সমর্থিত ক্ষেত্রে, scheduler.yield() মেইন থ্রেডকে yield করে পরে কাজ চালিয়ে যায়; এটি ফিচার-ডিটেক্ট করে ব্যবহার করুন এবং অনর্থক ব্রাউজারের জন্য একটি ফোলব্যাক রাখুন। প্রতিটি ক্ষুদ্র অপারেশনের পর yield করবেন না—তার ওভারহেড আছে এবং সম্পন্ন সময় বাড়াতে পারে। মাপ থেকে সীমানা চয়ন করুন, ক্যানসেলেশন বজায় রাখুন, এবং পুরনো ফলাফল নতুন স্টেট প্রতিস্থাপন না করার ব্যবস্থা নিশ্চিত করুন।

UI-কে প্রথমে রাখুন

অদৃশ্য পরবর্তী কাজ শুরু করার আগে স্বীকৃতি বা অগ্রগতির সংকেত দেখান।

সময় অনুসারে ব্যাচ করুন

একটি আইটেমের জন্য নয়, বরং পরিমাপিত কাজ দীর্ঘ হওয়ার আগেই yield দিন।

অবসোলেট শর্টকাট এড়ান

বর্তমান web.dev নির্দেশিকা isInputPending()-ভিত্তিক একটি নতুন কৌশলকে সুপারিশ করে না।

05

কম্পিউটেশন সরান, ইন্টারফেস নয়, একটি ওয়ার্কার-এ

Web Worker একটি ব্যাকগ্রাউন্ড থ্রেডে স্ক্রিপ্ট চালায় যা মেইন এক্সিকিউশন থ্রেড থেকে আলাদা। এটি ব্যয়বহুল পার্সিং, ডেটা ট্রান্সফর্মেশন, সার্চ ইনডেক্সিং এবং এমন অন্যান্য কাজের জন্য উপযুক্ত যা সরাসরি ইন্টারফেস অ্যাক্সেস করে না। পরিষ্কার ইনপুট পাঠান, নির্দিষ্ট রেজাল্ট ফিরিয়ে নিন, এবং রেন্ডারিং ও দৃশ্যমান স্টেট পরিবর্তন মেইন থ্রেডেই রাখুন।

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

বিচ্ছিন্ন কাজ বেছে নিন

শুরু করুন এমন ক্যালকুলেশন দিয়ে যার ইনপুট ও আউটপুট সিরিয়ালাইজেবল এবং টেস্টযোগ্য।

মেসেজ সংস্করণ করুন

পুরনো ফিল্টার, রুট, বা অ্যাকশনের জন্য তৈরি ফলাফল বাতিল করুন।

অ্যাক্সেসিবিলিটি সংরক্ষণ করুন

সাধারণ ইন্টারফেসের মাধ্যমে তাৎপর্যপূর্ণ প্রোগ্রেস যোগাযোগ করুন।

06

তৃতীয়-পক্ষ JavaScript-কে প্রোডাকশন ডিপেনডেন্সি হিসেবে গভর্ন করুন

অ্যানালিটিক্স, বিজ্ঞাপন, এক্সপেরিমেন্ট, সোশ্যাল এমবেড, ভিডিও প্লেয়ার এবং সাপোর্ট উইজেট অনুরোধ, JavaScript evaluation, iframe, এবং নির্ভরতাসমূহ যোগ করতে পারে। একটি ভেন্ডর স্ক্রিপ্ট প্রয়োজনীয় হতে পারে, কিন্তু এটি অ্যাপ্লিকেশন দলের সরাসরি নিয়ন্ত্রণের বাইরে এবং পারফরম্যান্স, প্রাইভেসি, সিকিউরিটি, এবং কন্টিনিউটিতে প্রভাব ফেলতে পারে। এর উদ্দেশ্য, রুটসমূহ, লোডিং কন্ডিশন, অনুমোদক, সম্মতি (consent) প্রয়োজনীয়তা এবং অপসারণের মালিক ইনভেন্টরিতে রাখুন।

শর্ত ও চুক্তি অনুমতি দিলে, প্রতিনিধিত্বমূলক পেজটি একটি তৃতীয়-পক্ষ অরিজিনসহ এবং ছাড়া তুলনা করুন। পারফরম্যান্স টুলগুলো ব্যয়বহুল ইভ্যালুয়েশন, পে-লোড এবং long-task attribution দেখাতে পারে। নথিভুক্ত উপকারিতা যদি মাপা খরচকে ন্যায্যতা দেয়, তবেই হালকা বা বিলম্বিত ইন্টিগ্রেশন রাখুন। ঐচ্ছিক কোনো নির্ভরশীলতা ধীর বা অনুপলব্ধ হলে মূল কনটেন্ট ও প্রধান লেনদেনের কাজ নিশ্চিত করুন।

ব্লাস্ট রেডিয়াস সীমাবদ্ধ করুন

একটি ট্যাগ শুধুই সেই রুট ও শর্তে লোড করুন যেগুলো সেটি প্রয়োজন।

চেঞ্জ কন্ট্রোল পর্যালোচনা করুন

ট্যাগ-ম্যানেজার পরিবর্তনগুলোকে পারফরম্যান্স, প্রাইভেসি, সিকিউরিটি এবং রোলব্যাক পর্যালোচনায় অন্তর্ভুক্ত করুন।

মুছে ফেলার সুইচ রাখুন

একটি অ-গুরুত্বপূর্ণ ইন্টিগ্রেশন নিষ্ক্রিয় করার উপায় নথিভুক্ত ও পরীক্ষা করুন।

07

রেসপন্সিভনেসকে রিলিজ নিরাপত্তা হিসেবে বানান

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

Status Is UP এই প্রমাণটি প্রোঅ্যাক্টিভ অপ্টিমাইজেশন ও নিরাপদ রেমিডিয়েশনের জন্য ব্যবহার করে, লাইভ অ্যাভেইলিবিলিটি মনিটরিংকে বদলায় না। উচ্চ-ঝুঁকিপূর্ণ পরিবর্তনের আগে রোলব্যাক প্রস্তুত করুন এবং রিলিজের পরে ক্রিটিক্যাল ফ্লো যাচাই করুন। ফলাফল ডিভাইস, নেটওয়ার্ক, ব্রাউজার, কনটেন্ট এবং অ্যাকাউন্ট স্টেট অনুযায়ী ভিন্ন হবে; থ্রেশহোল্ডগুলো গ্যার্ডরেল হিসেবে বিবেচনা করুন, গ্যারান্টি হিসেবে নয়।

গুরুত্বপূর্ণ পরিবর্তন গেট করুন

শেয়ার্ড ন্যাভিগেশন, চেকআউট, সার্চ, বা বড় বাণ্ডলের জন্য আগে-ও-পরের ট্রেস দাবি করুন।

রোলব্যাক অনুশীলন করুন

কোন ফিচার ফ্ল্যাগ, ট্যাগ সেটিং, বা ডিপ্লয়মেন্ট ভেরশনে পরিচিত-ভালো আচরণ পুনরুদ্ধার হয় তা জানুন।

নিয়মিত পুনরায় দেখুন

মেজর রিলিজ, ভেন্ডর পরিবর্তন, বা ডিভাইস-মিক্স শিফটে পুনরায় প্রোফাইল করুন।

কর্ম / যাচাই

আপনার ব্যবহারিক কাজের নির্দেশিকা।

  1. 01

    একটি ক্রিটিক্যাল ইন্টারঅ্যাকশন নির্বাচন করুন

    রুট, অ্যাকশন, প্রত্যাশিত প্রতিক্রিয়া এবং কাস্টমার ইমপ্যাক্ট নির্দিষ্ট করুন।

    যাচাই করুন: একটি টেস্ট নোট রুট, অ্যাকাউন্ট স্টেট, অ্যাকশন, ব্রাউজার, এবং ডিভাইস বা CPU সেটিং রেকর্ড করে।
  2. 02

    বেসলাইন রেকর্ড করুন

    পরিষ্কার ব্রাউজার স্টেট থেকে DevTools Performance-এ ইন্টারঅ্যাকশন রেকর্ড করুন।

    যাচাই করুন: টিম একটি ট্রেস পুনরায় দেখতে পারে এবং Main flame chart বিশ্লেষণ করতে পারে।
  3. 03

    ব্লকিং কাজ খুঁজে বের করুন

    long tasks, কল স্ট্যাক, রেন্ডারিং, এবং তৃতীয়-পক্ষ কার্যকলাপ নিরীক্ষা করুন।

    যাচাই করুন: প্রতিটি শীর্ষ খরচের জন্য সময়কাল, উত্স বা অরিজিন, রুট, এবং মালিক সংজ্ঞায়িত আছে।
  4. 04

    অপ্রয়োজনীয় স্ক্রিপ্ট সরান

    অপ্রয়োজনীয় প্যাকেজ, অবসরপ্রাপ্ত পরীক্ষা, ডুপ্লিকেট এবং অনাবশ্যক রুট কোড মুছুন।

    যাচাই করুন: রিমুভাল-এর পর বিল্ড এবং ক্রিটিক্যাল জার্নি কাজ করছে।
  5. 05

    অপশনাল ফিচার বিলম্ব করুন

    অপশনাল সক্ষমতা কেবল প্রয়োজনের সময় লোড করুন এবং বিলম্বিত অবস্থাও ব্যবহারযোগ্য রাখুন।

    যাচাই করুন: একটি ফ্রেশ-পেজ টেস্ট লোডিং, ব্যর্থতা, বা ফোলব্যাক কভার করে।
  6. 06

    দীর্ঘ টাস্ক ভাগ করুন

    কাজ ব্যাচ করুন এবং তাৎক্ষণিক ইন্টারফেসের প্রতিক্রিয়া দেখানোর পরে yield দিন।

    যাচাই করুন: একটি নতুন ট্রেসে সংশ্লিষ্ট ইন্টারঅ্যাকশন-পাথে long task সরানো হয়েছে এবং সঠিক ফলাফল বজায় আছে।
  7. 07

    ওয়ার্কার মূল্যায়ন করুন

    শুধু সীমাবদ্ধ গণনা নির্দিষ্ট মেসেজসহ ওয়ার্কার-এ সরান।

    যাচাই করুন: এন্ড-টু-এন্ড টাইমিং, ত্রুটি, স্টেল ফলাফল, এবং ক্লিনআপ টেস্ট করা হয়েছে।
  8. 08

    তৃতীয়-পক্ষ অডিট করুন

    উদ্দেশ্য, মালিক, শর্ত, সম্মতি, খরচ, এবং নিষ্ক্রিয়করণ প্রক্রিয়া রেকর্ড করুন।

    যাচাই করুন: প্রতিটি ক্রিটিক্যাল-রুট ট্যাগের জন্য রাখা, সীমাবদ্ধ, বিলম্বিত, বা অপসারণ সিদ্ধান্ত আছে।
  9. 09

    সীমাবদ্ধ শর্তে পরীক্ষা করুন

    থ্রটল করা CPU এবং উপযুক্ত ব্রাউজার/ডিভাইসে পুনরাবৃত্তি করুন যেখানে সম্ভব।

    যাচাই করুন: তুলনাটি একই সিনারিও ব্যবহার করে এবং গুরুত্বপূর্ণ পার্থক্য নোট করে।
  10. 10

    রিলিজের সাথে রোলব্যাক সংযুক্ত করুন

    ট্রেস, এক্সেপট্যান্স চেক, এবং রিভার্স ইনস্ট্রাকশন রিলিজে সংযুক্ত করুন।

    যাচাই করুন: একজন নামকৃত মালিক নামহীন অনুসন্ধান ছাড়াই পরিচিত-ভালো আচরণ পুনরুদ্ধার করতে পারে।
আলোচ্য বিষয়

ট্রেড-অফগুলো তুলনা করুন, ব্যক্তিগত ডেটা নয়।

এই প্রম্পটগুলো আপনার টিম বা ওয়েবসাইট-মালিক কমিউনিটির সঙ্গে ব্যবহার করুন। পদ্ধতি ও শিক্ষা শেয়ার করুন, কিন্তু কখনোই লগইন তথ্য, গ্রাহক রেকর্ড বা অপ্রকাশ্য ইনফ্রাস্ট্রাকচার বিবরণ পেস্ট করবেন না।

  1. 01

    কোন ইন্টারঅ্যাকশনটি লোডিং রিপোর্টে গ্রহণযোগ্য দেখালেও বাস্তব ট্যাপ বা ক্লিক প্রোফাইল করলে ধীর প্রমাণিত হয়েছিল?

  2. 02

    কোনো তৃতীয়-পক্ষের ফিচার তার মাপা মেইন-থ্রেড খরচকে ন্যায্যতা দেয় কি না, তা কীভাবে নির্ধারণ করেন?

  3. 03

    কোন রোলব্যাক মেকানিজমটি একটি পারফরম্যান্স রিগ্রেশন উল্টে ফেলা সহজতর করে ক্রিটিক্যাল জার্নি বিঘ্ন না করে?

জনপ্রিয় / প্রামাণিক রিসোর্স

সোর্স মেটারিয়াল দেখুন

web.devOptimize long tasks ↗

long tasks, yielding, scheduler.yield(), ফোলব্যাক এবং yield ওভারহেড সম্পর্কে ব্যাখ্যা করে।

পর্যালোচিত 2026-09-27
Chrome for DevelopersAnalyze runtime performance ↗

রেকর্ডিং, flame-chart বিশ্লেষণ, long-task শনাক্তকরণ, এবং সোর্স অনুসন্ধানের নির্দেশ দেয়।

পর্যালোচিত 2026-09-27
MDN Web DocsWeb Workers API ↗

ওয়ার্কারস, মেসেজ কমিউনিকেশন, এবং সরাসরি DOM সীমাবদ্ধতা সংজ্ঞায়িত করে।

পর্যালোচিত 2026-09-27
web.devLoad Third-Party JavaScript ↗

তৃতীয়-পক্ষ স্ক্রিপ্ট অডিট এবং পরিমাপ নির্দেশিকা প্রদান করে।

পর্যালোচিত 2026-09-27
W3CLong Tasks API ↗

long tasks, থ্রেশহোল্ড, এবং attribution সংজ্ঞায়িত করে।

পর্যালোচিত 2026-09-27

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

দ্রুত স্পষ্টীকরণ

সাধারণ প্রশ্ন

কোনটি একটি দীর্ঘ JavaScript টাস্ক হিসেবে গণ্য করা হয়?

W3C Long Tasks specification 50 মিলিসেকেন্ড বা তার বেশি সময়কে রিপোর্ট থ্রেশহোল্ড হিসেবে ব্যবহার করে। এটি তদন্তের সংকেত, ছোট টাস্কগুলো ক্ষতি নেই এমন প্রমাণ নয়। কারণ ট্রেসে নিশ্চিত করুন।

কোড স্প্লিটিং কি সবসময় JavaScript পারফরম্যান্স উন্নত করবে?

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

প্রত্যেক ব্যয়বহুল ফাংশন কি Web Worker-এ চলা উচিত?

না। ওয়ার্কারগুলি বিচ্ছিন্ন, CPU-ভারী গণনার জন্য উপযুক্ত যার ইনপুট ও আউটপুট নির্দিষ্ট মেসেজ হিসেবে থাকে। এগুলো সরাসরি DOM পরিবর্তন করতে পারে না, ডেটা স্থানান্তরের খরচ আছে, এবং ছোট টাস্কগুলো মেইন থ্রেডে দ্রুত সমাপ্ত হতে পারে।

Status Is UP Editorial Team · আপটাইম এনেবলমেন্ট সম্পাদকরা

পর্যালোচনা করেছেন সিনিয়র ওয়েব পারফরম্যান্স রিভিউয়ার. প্রকাশিত 2026-09-27; আপডেট 2026-09-30.