কম্পিউটার

জাভাস্ক্রিপ্টে রিকার্সিভ এবং লুপড ফ্যাক্টোরিয়াল ফাংশনের পারফরম্যান্সের তুলনা করা


আমরা দুটি জাভাস্ক্রিপ্ট ফাংশন লিখব, উভয় ফাংশনের কাজ হবে একটি সংখ্যা নেওয়া এবং তার ফ্যাক্টরিয়াল ফেরত দেওয়া।

প্রথম ফাংশন ফ্যাক্টরিয়াল গণনা করার জন্য লুপ বা while লুপ ব্যবহার করা উচিত। যেখানে দ্বিতীয় ফাংশন একটি পুনরাবৃত্ত পদ্ধতি ব্যবহার করে ফ্যাক্টরিয়াল গণনা করা উচিত।

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

উদাহরণ

নিম্নলিখিত কোড -

const factorial = (num = 1) => {
   let result = 1;
   for (let i = 2; i <= num; i += 1) {
      result *= i;
   }
   return result;
}
const factorialRecursive = (num = 1) => {
   if(num > 1){
      return num * factorialRecursive(num - 1);
   }else{
      return 1;
   }
};
const ITERATIONS = 100000000;
const num = 12;
console.time('Looping Approach');
for(let i = 0; i < ITERATIONS; i++){
   factorial(num);
};
console.timeEnd('Looping Approach');
console.time('Recursive Approach');
for(let j = 0; j < ITERATIONS; j++){
   factorialRecursive(num);
};
console.timeEnd('Recursive Approach');

আউটপুট

নিম্নোক্ত কনসোলে আউটপুট -

Looping Approach: 886.720ms
Recursive Approach: 6526.203ms

এই সময়টি মেশিন থেকে মেশিনে অনুপাত অনুসারে পরিবর্তিত হবে কমবেশি একই থাকতে বাধ্য।


  1. জাভাস্ক্রিপ্টে ফাংশন এবং পদ্ধতির মধ্যে পার্থক্য কী?

  2. জাভাস্ক্রিপ্টে ডিস্ট্রাকচারিং এবং ফাংশন প্যারামিটার

  3. জাভাস্ক্রিপ্টে গণিতের সমষ্টি ফাংশন

  4. ফাংশন যা জাভাস্ক্রিপ্টে একটি অ্যারের সর্বনিম্ন এবং সর্বোচ্চ মান প্রদান করে