JavaScript বেঞ্চমার্ক কী?

একটি JavaScript বেঞ্চমার্ক একটি কোডের অংশ কতদ্রুত সম্পাদিত হয় তা পরিমাপ করে এটি একটি নির্দিষ্ট সময়কালে বারবার চালিয়ে এবং প্রতি সেকেন্ডে কতটি অপারেশন সম্পন্ন করতে পারে তা গণনা করে। বেঞ্চমার্কিং সাধারণত একই সমস্যার দুটি পদ্ধতির তুলনা করতে ব্যবহৃত হয় — উদাহরণস্বরূপ, Array.includes() একটি নির্দিষ্ট ব্যবহারের ক্ষেত্রে Array.indexOf() এর চেয়ে দ্রুত কিনা তা পরীক্ষা করা। ফলাফলগুলি ব্রাউজার এবং ডিভাইসের মধ্যে উল্লেখযোগ্যভাবে পরিবর্তিত হতে পারে, কারণ প্রতিটি JavaScript ইঞ্জিন (V8, SpiderMonkey, JavaScriptCore) এর নিজস্ব অপটিমাইজেশন এবং JIT কম্পাইলেশন কৌশল রয়েছে।

টুল বর্ণনা

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

বৈশিষ্ট্য

  • উভয় স্নিপেট একটি Web Worker এ চালায় যাতে বেঞ্চমার্কগুলি কখনও ব্রাউজার ট্যাবকে ব্লক বা ফ্রিজ না করে
  • নির্ভুলতা এবং অপেক্ষার সময়ের ভারসাম্যের জন্য কনফিগারযোগ্য বেঞ্চমার্ক সময়কাল
  • একটি ভিজ্যুয়াল বার এবং শতাংশ পার্থক্য সহ পাশাপাশি ops/sec তুলনা

এটি কীভাবে কাজ করে

প্রতিটি স্নিপেট একটি লুপে মোড়ানো হয় যা নির্দিষ্ট সময়কালের জন্য চলে (ডিফল্ট 2 সেকেন্ড) JIT কম্পাইলারকে কোড অপটিমাইজ করার অনুমতি দেওয়ার জন্য 100 ms ওয়ার্মআপ পর্যায়ের পরে। অপারেশনগুলি সময়মাপা উইন্ডোর সময় গণনা করা হয়, এবং ops/sec হিসাবে গণনা করা হয় count / elapsed_ms * 1000। সম্পূর্ণ বেঞ্চমার্ক একটি Web Worker এর ভিতরে চলে যাতে এটি DOM অ্যাক্সেস করতে পারে না, তবে এটি Math, Date, performance, arrays এবং objects এর মতো স্ট্যান্ডার্ড JavaScript গ্লোবালগুলিতে অ্যাক্সেস করতে পারে।

টিপস

  • স্নিপেটগুলি স্ব-নিহিত রাখুন; পুনরাবৃত্তির মধ্যে জমা হওয়া পার্শ্ব প্রতিক্রিয়া এড়িয়ে চলুন
  • দ্রুত অপারেশনগুলিতে আরও স্থিতিশীল ফলাফলের জন্য একটি দীর্ঘ সময়কাল (3–5 সেকেন্ড) ব্যবহার করুন
  • ফলাফলগুলি আপনার নির্দিষ্ট ব্রাউজার এবং মেশিনকে প্রতিফলিত করে — সর্বদা লক্ষ্য পরিবেশে বেঞ্চমার্ক করুন